eCandidat (esup-opi)

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

Voici une liste des exceptions fréquemment rencontrés lors de l'installation de l'application eCandidat.

Elles sont souvent dû à une erreur de configuration.

Sommaire

VersionException: The database is too old

...

(x.x.x),

...

please

...

run

...

'ant

...

upgrade'

...

Vous

...

venez

...

d'installer

...

la

...

nouvelle

...

version

...

de

...

eCandidat

...

mais

...

vous

...

n'avez

...

pas

...

exécuté

...

la

...

target

...

ant

...

upgrade.

...

Une

...

fois

...

celle-ci

...

exécutée,

...

vérifiez

...

que

...

la

...

table

...

B_VERS_MANA

...

si

...

la

...

valeur

...

est

...

à

...

jour.

...

ObjectNotFoundException:

...

No

...

LDAP

...

entry

...

found

...

for

...

entity

...

[*********

...

]

...

Lors

...

de

...

l'exécution

...

de

...

la

...

target

...

init-data,

...

il

...

est

...

possible

...

d'avoir

...

cette

...

exception

...

si

...

la

...

propriété

...

init.firstAdministratorId

...

soit

...

mal

...

initialisé.

...

Il

...

faut

...

s'assurer

...

que

...

la

...

valeur

...

saisie

...

corresponde

...

bien

...

à

...

l'id

...

au

...

sens

...

LDAP.

...

En

...

effet,

...

l'init-data

...

va

...

interroger

...

LDAP

...

pour

...

récupérer

...

la

...

fiche

...

sur

...

l'id

...

passé

...

et

...

ainsi

...

initialiser

...

le

...

premier

...

compte

...

administrateur

...

dans

...

l'application.

...

ObjectNotFoundException avec un code postal inexistant

L'exception

...

envoyée

...

par

...

l'application

...

contient

...

la

...

ligne

...

suivante

...

:

{
Bloc de code
}
caused by: org.esupportail.commons.exceptions.ObjectNotFoundException: Ce code postal ( 97610 ) n'existe pas dans la base de données APOGEE
{code}

Cette

...

exception

...

est

...

générée

...

par

...

l'application

...

lorsque

...

le

...

webservice

...

Apogée

...

remonte

...

une

...

WebException

...

du

...

style

...

technical.data.nullretrieve.commune.

...

En

...

vérifiant

...

dans

...

le

...

référentiel

...

Apogée,

...

si

...

le

...

code

...

postal

...

n'existe

...

pas,

...

il

...

suffit

...

de

...

mettre

...

à

...

jour.

...

Sinon

...

cela

...

signifie

...

que

...

le

...

webservice

...

s'est

...

planté

...

pendant

...

un

...

cours

...

instant

...

en

...

générant

...

une

...

erreur

...

à

...

l'appel

...

de

...

la

...

méthode.

...

DownloadException:

...

data

...

is

...

null

...

Il

...

s'agit

...

...

d'un

...

"replay"

...

de

...

l'url

...

de

...

download

...

d'un

...

dossier.

...

En

...

effet,

...

lorsque

...

le

...

candidat

...

télécharge

...

son

...

dossier,

...

l'application

...

va

...

jouer

...

une

...

URL

...

du

...

type

...

https://_url_de_l'appli_?downloadId=****\*

...

(https://_url_de_l%27appli_/?downloadId=*****

...

) afin

...

de

...

pouvoir

...

activer

...

le

...

filtre

...

de

...

téléchargement

...

dans

...

le

...

web.xml

...

et

...

ainsi

...

envoyer

...

le

...

flux

...

de

...

données

...

au

...

candidat

...

pour

...

télécharger

...

le

...

dossier.

...


L'id

...

passé

...

en

...

paramètre

...

ne

...

peut

...

être

...

joué

...

2

...

fois

...

car

...

en

...

réalité,

...

on

...

se

...

base

...

sur

...

des

...

données

...

chargées

...

en

...

session

...

pour

...

créer

...

le

...

fichier

...

à

...

télécharger.

...

Il

...

s'avère

...

que

...

pour

...

rejouer

...

volontairement

...

ce

...

genre

...

d'URL,

...

il

...

faut

...

réussir

...

à

...

la

...

capturer

...

par

...

exemple

...

avec

...

un

...

plugin

...

comme

...

TamperData

...

(sur

...

Firefox).

...

Une

...

supposition

...

sur

...

ce

...

sujet

...

serait

...

donc

...

que

...

des

...

personnes

...

malveillantes

...

veulent

...

tester

...

s'il

...

est

...

possible,

...

en

...

changeant

...

ou

...

en

...

rejouant

...

la

...

valeur

...

de

...

l'id,

...

d'obtenir

...

d'autres

...

données

...

que

...

celles

...

initialement

...

obtenues.

...


A

...

Rennes

...

1,

...

nous

...

avons

...

2

...

cas

...

de

...

comportement

...

plus

...

ou

...

moins

...

malveillants

...

:

...


-

...

soit

...

l'URL

...

est

...

rejouée

...

une

...

fois,

...

supposition

...

que

...

leur

...

test

...

est

...

un

...

échec

...

auquel

...

cas

...

ils

...

abandonnent

...

;

...


-

...

soit

...

l'URL

...

est

...

rejouée

...

plusieurs

...

fois.

...

Dans

...

ce

...

cas,

...

on

...

a

...

constaté

...

que

...

l'id

...

peut

...

changer

...

ou

...

non

...

mais

...

le

...

plus

...

important

...

est

...

que

...

l'adresse

...

IP

...

de

...

l'entité

...

malveillante

...

est

...

identique.

...

Les

...

"attaques"

...

sont,

...

dans

...

des

...

cas

...

déjà

...

constatés,

...

répétées

...

toutes

...

les

...

2

...

minutes.

...

La

...

supposition

...

est

...

qu'étant

...

donnée

...

que

...

le

...

comportement

...

provoque

...

une

...

erreur,

...

les

...

personnes

...

malveillantes

...

tentent

...

de

...

surcharger

...

le

...

serveur

...

en

...

saturant

...

les

...

fichiers

...

de

...

logs.

...

Fort

...

heureusement,

...

dans

...

le

...

second

...

cas,

...

nous

...

n'avons

...

jamais

...

planté

...

le

...

serveur

...

car

...

l'application

...

ne

...

conserve

...

qu'un

...

certain

...

nombre

...

de

...

fichiers

...

de

...

logs,

...

on

...

évite

...

donc

...

la

...

surcharge

...

sur

...

ce

...

point.

...


La

...

solution

...

que

...

nous

...

avons

...

parfois

...

envisagée

...

lorsque

...

les

...

attaques

...

étaient

...

en

...

cours,

...

était

...

de

...

blacklister

...

l'adresse

...

IP

...

pendant

...

une

...

journée

...

ou

...

deux.

...


Je

...

l'ai

...

par

...

ailleurs

...

constaté

...

à

...

mon

...

retour

...

de

...

vacances,

...

nous

...

avons

...

eu

...

une

...

attaque

...

de

...

ce

...

genre

...

la

...

semaine

...

dernière

...

et

...

elle

...

a

...

duré

...

6

...

heures,

...

entre

...

19h

...

et

...

1h,

...

cela

...

sans

...

conséquence.

...

MissingResourceException:

...

Can't

...

find

...

resource

...

for

...

bundle

...

java.util.PropertyResourceBundle,

...

key

...

geographieMetier.urlService.ssl

...

Dans

...

le

...

fichier

...

configUrlServices.properties,

...

il

...

manque,

...

entre

...

autres,

...

la

...

clé

...

geographieMetier.urlService.ssl.

...

Il

...

faut

...

donc

...

ajouter

...

les

...

lignes

...

suivantes

...

:

{
Bloc de code
}
administratifMetier.urlService.ssl=false
etudiantMetier.urlService.ssl=false
pedagogiqueMetier.urlService.ssl=false
geographieMetier.urlService.ssl=false
{code}

Elles

...

sont

...

nécessaires

...

pour

...

les

...

librairies

...

des

...

webservices

...

Apogée

...

et

...

lorsqu'on

...

saisit

...

false,

...

cela

...

veut

...

dire

...

qu'on

...

n'utilise

...

pas

...

SSL.

...

De

...

plus,

...

si

...

cela

...

n'est

...

pas

...

fait,

...

je

...

vous

...

conseille

...

aussi

...

d'ajouter

...

les

...

lignes

...

suivantes

...

:

{
Bloc de code
}
WS_SSL_MODE=false
WS_CERTIF_STORE_PATH=
WS_KEY_STORE_PATH=
WS_KEY_PASS=
WS_KEY_TYPE=
{code}
h2. 

ConfigException:

...

la

...

balise

...

boucle

...

n'a

...

pas

...

de

...

fin

...

Si

...

cette

...

erreur

...

intervient

...

dans

...

la

...

classe

...

DynamicMailContentImpl,

...

cela

...

signifie

...

que

...

vous

...

avez

...

modifié

...

de

...

la

...

mauvaise

...

manière

...

un

...

mail

...

dynamique

...

sur

...

la

...

page

...

prévue

...

à

...

cet

...

effet.

...

Dans

...

le

...

cas

...

précis

...

de

...

la

...

balise

...

boucle,

...

il

...

faut

...

rajouter

...

la

...

fin

...

de

...

celle-ci

...

avec

...

ce code

Bloc de code

 code *${end_boucle}*.

Il

...

faut

...

faire

...

très

...

attention

...

aux

...

modifications

...

apportées

...

dans

...

ce

...

module

...

car

...

certaines

...

parties

...

des

...

mails

...

ne

...

doivent

...

pas

...

changer

...

car

...

ce

...

sont

...

des

...

expressions

...

qui

...

sont

...

analysées

...

et

...

traitées

...

par

...

l'application

...

pour

...

donner

...

le

...

rendu

...

final.

...

MySQLIntegrityConstraintViolationException: Duplicate entry

Si l'erreur porte sur les clés lib_nom_pat_usr ou cod_dep_nai, ce sont des clés générées par Hibernate lors de l'init-data.

Elles correspondent à la clé d'unicité sur les champs lib_nom_pat_usr - lib_pr1_usr - lib_pr2_usr - cod_dep_nai - dat_nai_ind - ville_nai_ind d'un individu dans le mapping. Cette clé évite qu'un candidat crée deux fois un dossier dans l'application.

Le problème vient qu'un Individu au sens de l'application est divisé en base de données sur les deux tables OPI_USER et INDIVIDU.

Il faut donc  :

  • dans la table OPI_USER, supprimer l'index lib_nom_pat_usr
  • dans la table INDIVIDU, supprimer l'index cod_dep_nai