Question

Accounts: Odata4 returns error while Odata3 is fine

Dear community,

 

In one of our projects, we encounter an issue with an Odata4-call on the Account section, where following error is returned: 

{"error":{"code":"","message":"An error has occurred."}}

 

So this error occurs with following call in Odata4:

https://dev-convenient.creatio.com/0/odata/Account

 

However, when calling the Account section via Odata3, there is no issue:

https://dev-convenient.creatio.com/0/ServiceModel/EntityDataService.svc…

 

Note that an Odata4 call to other sections or objects also does not returns an error, so the issue seems to be related to the Accounts section in Odata4 only.

 

 

Any idea what might cause this issue? Could this be a data issue?

I have recompiled the complete project, but that did not solve the issue.

 

 

Kind regards,

Vincent

Like 0

Like

5 comments

Hello Vincent,

Please try to use "top" to decrease the number of data.

https://dev-convenient.creatio.com/0/odata/Account?$top=5

Waiting for your feedback.

Best regards, Alex.

Aleksei Efimenko,

Hello Aleksei,

 

Thank you for the feedback!

Unfortunately, I get the same error with the top 5.

 

I also tested with a filter on the Name of the Account.

When I search for an account name that does not exist, I get a (empty) response:

https://dev-convenient.creatio.com/0/odata/Account?$filter=Name%20eq%20…

--> 

{"@odata.context":"https://dev-convenient.creatio.com/0/odata/$metadata#Account","value":[]}

 

When I filter for an existing name, then I also get the error:

https://dev-convenient.creatio.com/0/odata/Account?$filter=Name%20eq%20…

--> 

{"error":{"code":"","message":"An error has occurred."}}

 

Kind regards,

Vincent

Vincent Tahon,

Hello, are there any errors in the browser console?

Is it possible to try postman for this query, maybe it will give the more described error.

Best regards, Alex.

Aleksei Efimenko,

 

I have tried each field seperately, for example:

https://dev-convenient.creatio.com/0/odata/Account?$select=Phone&$filte… eq 06273fab-9dee-40fa-9313-7f85ac69ab68

 

For 4 fields, I got an error:

1. Description 

- Error: The query specified in the URI is not valid. Could not find a property named 'Description' on type 'Terrasoft.Configuration.OData.Account'.

--> In the object, I cannot find this field, but it looks like a system field?

2. UsrMZAabonnementId 

- Error: The query specified in the URI is not valid. Could not find a property named 'UsrMZAabonnementId' on type 'Terrasoft.Configuration.OData.Account'.

--> In the object, I cannot find this field. Probably deleted by the user?

--> Have now added the field UsrMZAabonnementId, so this error is solved.

3. UsrkenmerkGGZ_ZPM 

- Error: An error has occurred.

--> This field exists. Are underscore characters not allowed?

4. Logo 

- Error: An error has occurred.

--> This is a system field and should not be an issue?

 

For the general query, the error is also 'An error has occurred.'

https://dev-convenient.creatio.com/0/odata/Account?$filter=id%20eq%2006…

 

So I assume error 3 and/or 4 are causing this error?

Vincent Tahon,

Yes, the underscore is the big problem for OData 4, please try to rename a column, compile the application and try again.

Best regards, Alex.

 

Show all comments