[ 
https://issues.apache.org/jira/browse/OLINGO-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Seyoum Belay updated OLINGO-1632:
---------------------------------
    Description: 
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)

  was:
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)


> 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
>            Priority: Major
>
> 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)

Reply via email to