Olingo client core currently adds the content-Id as Single for every request in a Odata Batch which is not in adherance with the Odata spec see http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#_Toc505771282
Here the spec clearly mentions:
“Each body part representing an operation in the change set MUST specify a Content-ID header with a request identifier that is unique within the batch request.”
However in Olingo we are setting the ContentId as a string "_SINGLE" see https://github.com/apache/olingo-odata4/blob/master/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/batch/ODataSingleResponseItem.java._
Our OData server(in this case Microsoft Dynamics Rest Api) is having a check for this content-ID uniqueness and hence the batch requests are failing. This is a blocking issue for using OData batching (without changesets) in olingo client core Jar.