Hi,

We are using *olingo-4.7.0 *to work with Odata V4. While working with we
are facing multiple issues with datatypes. we are deserializing the JSON
content which contains the DateTimeOffset datatype. for example:
{
    "streetAddress": "abs",
    "displayName": "xxx",
    "surname": "fff",
    "givenName": "xxx",
    "price": "1.02",
    "id": "1232-3232-1212",
    "employeeHireDate": "2024-05-26T00:00:00Z",
    "accountEnabled": true
}


and while creating the Odata entity it treats 'employeeHireDate' as
EDM.string which is not true this should be DateTimeOffset due to this
Olingo client throwing the below exceptions
DateTimeOffset issue:
Error: Error Code: Error while executing
activity operation for update. The Exception is (Request_BadRequest) A
value was encountered that has a type name that is incompatible with
the metadata. The value specified its type as 'Edm.String', but the
type specified in the metadata is 'Edm.DateTimeOffset'. [HTTP/1.1 400
Bad Request], Error Desc: Error while executing activity operation for
update. The Exception is (Request_BadRequest) A value was encountered
that has a type name that is incompatible with the metadata. The value
specified its type as 'Edm.String', but the type specified in the
metadata is 'Edm.DateTimeOffset'. [HTTP/1.1 400 Bad Request] ,Stack
Trace: org.jitterbit.connector.sdk.exceptions.ActivityExecutionException:
Error while executing activity operation for update. The Exception is
(Request_BadRequest) A value was encountered that has a type name that
is incompatible with the metadata. The value specified its type as
'Edm.String', but the type specified in the metadata is
'Edm.DateTimeOffset'. [HTTP/1.1 400 Bad Request]

*This is coming for price.* Caused by: java.lang.Exception: (BadRequest) A
value was encountered that has a type name that is incompatible with the
metadata. The value specified its type as 'Edm.Double', but the type
specified in the metadata is 'Edm.Decimal'. CorrelationId:
3057a9d4-e8a8-4c6d-b3e7-6b740a9a404e. [HTTP/1.1 400 Bad Request]


This is how we are Deserializing the JSON Content
*client.getBinder().getODataEntity(client.getDeserializer(ContentType.APPLICATION_JSON).toEntity(stream));*

[image: image.png]

is there any way we can avoid this case or any workaround that we can
follow to resolve this issue? As our requests are dynamic in nature, so we
can't do JSON iteration and set every single field to the appropriate
property.

Looking forward to your quick response.
Thanks and Regards,
Gourav Kumar

-- 


The contents of this message are confidential.  If you are not the 
intended recipient of this communication, kindly contact the sender 
immediately and permanently delete this message.

Reply via email to