Question

Serialization error during OData GET when one of the field value contains carriage return character

  • 6 May 2021
  • 8 replies
  • 1672 views

Userlevel 3
Badge +3

Hi all,

While working with ProjectsHandling projection in Apps 10 environment I came across an issue with serialization when one of the field values contains carriage return character

<ERROR>{"error":{"code":"ODP_SERIALIZATION_ERROR","message":"Error while serializing contents."}}</ERROR>

https://<host>:<port>/main/ifsapplications/projection/v1/ProjectsHandling.svc/Projects

In my case, the field which has the bad data is ‘BaselineRevisionComment’. Everything works okay if this field is not selected in the OData query. 

Aurena Client is also breaking when this particular Project having bad data is selected. 

Did anyone experience this before? Any workarounds?


Thanks in advance
Avenash


This topic has been closed for comments

8 replies

Userlevel 5
Badge +8

Hi Avenash,


Usually, there are few reasons for ODP serialization error. Mainly validation errors like,

  1. Data Type errors – SELECT statement returns a data type varchar2, but the same attribute in the projection file has a different variable type. Eg: – number.
  1. Invalid characters in data – special characters
  1. Not acceptable values – Eg: Data is having a value where it is not acceptable in LOV.
  1. Columns in the database table and attributes in the projection file have a different maximum length.

You will need to check the passing values to the field ‘BaselineRevisionComment’. The issue could be occurring due to any of the above reasons. Could I know whether BaselineRevisionComment is a core field and if it's a core field could I know the values passed to the field ‘BaselineRevisionComment’. 

BR,
Nilushi

Userlevel 2
Badge +4

Hi Guys,

 

I'm Alexandre Bicalho from IFS Latin,

 

I'm having the same problem with several projection.

Here is the one core:

https://cmbgse2062.corpnet.ifsworld.com:48080/int/ifsapplications/projection/v1/WorkOrderHandling.svc/WorkOrderSet(WoNo=200050)

To this projection the field with problem is "Objevents”, if I use $select without that column, everything works OK.

The content of the column is "Report^Finish^Cancel^Restart^"

 

Even with header parameters:

  • Accept: application/json;odata.metadata=full;IEEE754Compatible=true
  • Content-Type: application/json;IEEE754Compatible=true

I got the same error.

I'll appreciate any kind of suggestion to solve that problem.

 

:-)

Thanks in Advance,

Alexandre Bicalho.

Userlevel 3
Badge +3

Thanks, @Nilushi Silva 

The issue I have is due to a carriage return character present in the value. The field ‘BaselineRevisionComment’ does accept multi-line text and it is a core field.,

Byggsats som levereras v:a 2020-21,
vi kan faktu


The customer is mainly using IEE client and there are no issues. But the problem is encountered when the same project record is retrieved through OData query (REST) or viewed in Aurena client (in customer’s test environment). 

I tried using the same value in another environment and it didn’t have an issue populating the field in REST response. 
 

{
...
"BaselineRevisionComment": "Ekonomi ville att detta projektet skulle gå i IFS. Byggsats som levereras v:a 2020-21,\r\nvi kan faktu"
...
}

 

Userlevel 2
Badge +4

HI @avenash ,

But the problem is systemic, we have this issue in many other projections as mentioned above.

Try this:

https://cmbgse2062.corpnet.ifsworld.com:48080/int/ifsapplications/projection/v1/WorkOrderHandling.svc/WorkOrderSet(WoNo=200050)

BR/

 

Userlevel 5
Badge +8

Hi @avenash,

When I check the behaviour in App10 core Aurena client, I was able to add given ‘BaselineRevisionComment’ value without any issues. Are you adding ‘\r’ in client or adding enter in the client and system in the backend adds \r to the field?. Usually, in client we do not have such characters.

BR,
Nilushi Silva

 

 

 

Userlevel 5
Badge +8

 Hi @Albibr ,

‘ODP_SERIALIZATION_ERROR’ error is a general error and needs to investigate this error is raised due to which reason as mentioned above. Providing a general error is a framework bug in Aurena and it is already reported through  Solution ID 288966. It will be fixed soon. Since your issue a event-related problem, did you check whether issue re-created in our core. Seems like this could be a core bug.

 

BR,

Nilushi Silva

Userlevel 2
Badge +4

Hi @Nilushi Silva,

Thanks for your answer.

 

The link below is from Core R&D Environment.

 

https://cmbgse2062.corpnet.ifsworld.com:48080/int/ifsapplications/projection/v1/WorkOrderHandling.svc/WorkOrderSet(WoNo=200050)

 

Try it.

 

BR/

Alexandre Bicalho.

Userlevel 3
Badge +3

Hi @Nilushi Silva 

I am not adding the ‘\r’ character manually - it is added by pressing enter in the client. And, the character you are seeing in the sample response I have provided is due to serialization. 

 

As @Albibr pointed out, this seems like a systemic issue that can be seen in many other projects too. In my case, I am planning to build a client using the REST APIs so this kind of issue, if it occurs, can break the client. 

 

Hi @avenash,

When I check the behaviour in App10 core Aurena client, I was able to add given ‘BaselineRevisionComment’ value without any issues. Are you adding ‘\r’ in client or adding enter in the client and system in the backend adds \r to the field?. Usually, in client we do not have such characters.

BR,
Nilushi Silva