Bonjour,
Je me retrouve face à un problème déjà éprouvé chez nous (Renault) mais qui n’a jamais trouvé de véritable solution, à savoir une erreur 400 à la suite d’un appel Rest sur API mappée (mapping spécifique Renault) mais qui possède tout de même un body (les champs de la ressource insérée) et qui effectue bien l’insert en base (ressource disponible après l’appel dans le business object).
J’ai pu expérimenter ce comportement aujourd’hui et trouver l’enchaînement d’actions menant à lui.
Etape 1 : insert via un Post (avec Postman par exemple) ou via un formulaire Simplicite d’une ressource dans un objet. Disons, pour faire simple que cet objet n’a qu’une seule clé fonctionnelle. -> Http : 200 | insert en base OK (c’est normal)
Etape 2 : insert via un Post (avec Postman par exemple) ou via un formulaire Simplicite d’une ressource dans le même objet avec la même valeur de clé fonctionnelle. -> Http : 400 | insert NOK la clé existe déjà en base (c’est normal)
Etape 3 ATTENDUE: insert via un Post (avec Postman par exemple) ou via un formulaire Simplicite d’une ressource dans le même objet avec une valeur de clé fonctionnelle différente. -> Http : 200 | insert OK la clé n’existe pas en base, elle est créée (ce serait anormal).
Etape 3 OBTENUE: insert via un Post (avec Postman par exemple) ou via un formulaire Simplicite d’une ressource dans le même objet avec une valeur de clé fonctionnelle différente. -> Http : 400 | insert OK la clé n’existe pas en base mais on garde le code 400 (c’est anormal).
Je précise que pour revenir à un comportement dit normal, pas d’autre solution que le clearCache.
Avez-vous connaissance de ce problème?
Merci
PS : le health de mon instance :
[Platform]
Status=OK
Version=4.0.P24
BuiltOn=2020-01-21 00:44 (revision 120e5c70932b8d0317b8b6c80a743db7662de7f4)
Encoding=UTF-8
EndpointIP=172.17.0.5
EndpointURL=http://f9abf5c13c8a:8080
TimeZone=Europe/Paris
SystemDate=2020-02-18 16:11:09
[Application]
ApplicationVersion=0.8 dev
ContextPath=
ContextURL=https://int.rff.dev.aws.renault.com
ActiveSessions=3
TotalUsers=11
EnabledUsers=7
LastLoginDate=2020-01-21 13:35:58
[Server]
ServerInfo=Apache Tomcat/9.0.30
ServerType=WEB
User=root
[OS]
Name=Linux
Architecture=amd64
Version=4.14.158-101.185.amzn1.x86_64
SystemEncoding=UTF-8
[Disk]
DiskFree=9149
DiskUsable=8621
DiskTotal=10015
[JavaVM]
Version=13.0.1
Vendor=N/A
VMName=OpenJDK 64-Bit Server VM
VMVersion=13.0.1+9
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.11 2019 05 30
HeapFree=178757
HeapSize=506948
HeapMaxSize=1773888
TotalFreeSize=1445697
[Cache]
GrantCache=20
GrantCacheMax=0
GrantCacheRatio=0
ObjectCache=285
ObjectCacheMax=10000
ObjectCacheRatio=2
ProcessCache=1
ProcessCacheMax=10000
ProcessCacheRatio=0
[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=10.6
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.2.9
DBDate=2020-02-18 16:11:09
DBDateOffset=0
DBPatchLevel=P24;120e5c70932b8d0317b8b6c80a743db7662de7f4
UsingBLOBs=true
[Healthcheck]
Date=2020-02-18 16:11:09
ElapsedTime=73