Seyoum Belay created OLINGO-1632: ------------------------------------ Summary: Batch request with payload containing cross-service requests fails with error "base URI does not match the service base URI". Key: OLINGO-1632 URL: https://issues.apache.org/jira/browse/OLINGO-1632 Project: Olingo Issue Type: Bug Components: odata4-server Affects Versions: Version (Java) V4 5.0.0 Reporter: Seyoum Belay
Use case: OData service1 references service2 in the metadata as follows and batch payload contains requests to both service1 and service2 <edmx:Reference Uri="http://host/service1/$metadata"> <edmx:Include Namespace="service1"/> </edmx:Reference> With Olingo version 5.0, the batch request fails with error "The base URI does not match the service base URI at line" if the batch payload contains requests to both service1 and service2. See example below: Example batch request URL: POST http://host/service1/$batch Example batch request body: --batch_request Content-Type: application/http Content-Transfer-Encoding:binary GET http://host/service1/TestEntitySet1 HTTP/1.1 --batch_request Content-Type: application/http Content-Transfer-Encoding:binary GET http://host/service2/TestEntitySet2 HTTP/1.1 --batch_request-- Stack trace: Base uri does not match at org.apache.olingo.server.core.deserializer.batch.HttpRequestStatusLine.parseAbsoluteUri(HttpRequestStatusLine.java:100) at org.apache.olingo.server.core.deserializer.batch.HttpRequestStatusLine.parseUri(HttpRequestStatusLine.java:79) at org.apache.olingo.server.core.deserializer.batch.HttpRequestStatusLine.parse(HttpRequestStatusLine.java:66) at org.apache.olingo.server.core.deserializer.batch.HttpRequestStatusLine.<init>(HttpRequestStatusLine.java:57) at org.apache.olingo.server.core.deserializer.batch.BatchRequestTransformator.createRequest(BatchRequestTransformator.java:103) at org.apache.olingo.server.core.deserializer.batch.BatchRequestTransformator.processQueryOperation(BatchRequestTransformator.java:68) at org.apache.olingo.server.core.deserializer.batch.BatchRequestTransformator.transform(BatchRequestTransformator.java:52) at org.apache.olingo.server.core.deserializer.batch.BatchParser.parseBatch(BatchParser.java:62) at org.apache.olingo.server.core.deserializer.batch.BatchParser.parse(BatchParser.java:49) at org.apache.olingo.server.core.deserializer.batch.BatchParser.parseBatchRequest(BatchParser.java:42) at org.apache.olingo.server.core.deserializer.FixedFormatDeserializerImpl.parseBatchRequest(FixedFormatDeserializerImpl.java:134) -- This message was sent by Atlassian Jira (v8.20.10#820010)