Outbound REST Does not Produce Array as Root Element, Causing Deserialization Error at External System
(Doc ID 2877499.1)
Last updated on APRIL 04, 2025
Applies to:
Siebel CRM - Version 21.8 and laterInformation in this document applies to any platform.
Symptoms
On : 21.8 version, Siebel EAI
When attempting to invoke an outbound REST service that expects an array as the root element, the external system responds with a deserialization error, indicating the generated JSON is not an Array of Integer.
Further analysis of restoutbound.log shows Siebel produced the json message
ERROR
-----------------------
(external system error while parsing the message Siebel produced in the request)
exceptionType=Internal Server Error, callContextUUID=Optional.empty, userMessages=[], extensions={}} xxx.lang.JesTechnicalException: Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`) at [Source: (BufferedInputStream); line: 1, column: 1]
STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. in tools, import 3NEWswagger.json.
2. in the client, simulate the proxy business service siefsconnectorpartnerservice3 , method AdminRestResource_resendPartnerToSiebelFromList_post:post
with appropriate inputs.
3. check restoutbound.log of the internal container and confirm it produced converted JSON :
{"test":[12345679,12345678]}
The expectation was to produce just "[12345679,12345678]" as tested in https://editor.swagger.io/
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |