Piotr Frelek created OLINGO-920:
-----------------------------------

             Summary: Different error code dependent from response format
                 Key: OLINGO-920
                 URL: https://issues.apache.org/jira/browse/OLINGO-920
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.1.0
            Reporter: Piotr Frelek
            Priority: Minor


Error code in response is dependent from data format. For e.g.
{code:xml}
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata";>
<code>404</code>
<message>Resource not found</message>
</error>
{code}
{code:JavaScript}
{
 "error":{
      "code":null,
      "message":"Resource not found"
  }
}
{code}

The reason of the problem is in implementation of serializers.
XML serializer use error.getStatusCode().
{code:title=ODataXmlSerializer.java}
writer.writeDefaultNamespace("http://docs.oasis-open.org/odata/ns/metadata";);
                this.writeErrorDetails(String.valueOf(error.getStatusCode()), 
error.getMessage(), error.getTarget(), writer);
                if(error.getDetails() != null && !error.getDetails().isEmpty()) 
{
{code}
JSON serializer calls ODateErrorSerializer which is using error.getCode().
{code:title=ODataErrorSerializer.java}
json.writeStartObject();
            this.writeODataError(json, error.getCode(), error.getMessage(), 
error.getTarget());
            if(error.getDetails() != null) {
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to