Sushil created OLINGO-844:
-----------------------------
Summary: While Inserting New Entity Getting BAD REQUEST as
response from ODATA Service
Key: OLINGO-844
URL: https://issues.apache.org/jira/browse/OLINGO-844
Project: Olingo
Issue Type: Bug
Components: odata2-core
Affects Versions: V2 2.0.5, V2 2.0.0
Environment: Windows 10 Operating System
Reporter: Sushil
Priority: Blocker
Hi All,
I am Using 2.0.0 client version to call ODATA Service. When we invoke
respective API to insert record we are getting Error 400 - BAD REQUEST.
1) Its Secured ODATA Service : we made sure that authorization header is added
to request.
2) We added properties of Entity using Map <String, Obejct> and we can see that
those are properly set in JSON object while pushing the data.
3) URL is correctly formed : First we tested the URL with SOAPUI with test JSON
object, Entity is properly get saved and we got Http Response as 201 - Created.
4) While Calling the same ODATA Service API by using Olingo
contentType = Application/Json
entitySet = SomeEntityName
data = map<String,Object > with properties of SomeEntity
properties = EntityProviderWriteProperties.serviceRoot(rootUri).build();
ODataResponse response = EntityProvider.writeEntry(contentType, entitySet,
data, properties);
After getting the response we retrieved the entity from response as follows :
Object entity = response.getEntity();
if (entity instanceof InputStream) {
byte[] buffer = streamToArray((InputStream) entity);
// just for logging
String content = new String(buffer);
print(httpMethod + " request on uri '" + absolutUri + "' with content:\n
" + content + "\n");
when we print the absolutUri : its correct as that of SOAPUI we tested.
Content = JSON object that we are posting is not formed correctly as that SOAP
UI when we print the JSON object its look like as follows :
Here Entity Name is "SomeEntity"
{
"d": {
"__metadata": {
"id": "SomeEntitySomeEntity('SomeEntityUser')",
"uri": "SomeEntitySomeEntity('SomeEntityUser')",
"type": "SFOData.SomeEntity"
},
"addressLine1": null,
"addressLine2": null,
"addressLine3": null,
"userId": "SomeEntityUser",
"username": "SomeEntityUser",
"zipCode": null,
}
}
as we can see that this object is not formed correctly We are suspecting we as
result we are getting 400 BAD REQUEST response from ODATA Service. formation of
JSON object is taking care by olingo Library.
Please guide us on this issue.
Thanks !
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)