Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.20.1
-
None
-
spring-boot
-
Patch Available
-
Unknown
Description
Hi guys,
i've a problem with making camel-olingo2 to work with $filter query parameter
Here is my RouteBuilder situation
rest("/olingo2") .get("tickets").to("direct:olingo2/tickets"); from("direct:olingo2/tickets") .setHeader("CamelOlingo2.$filter", simple("ReporterEmail eq 'user@company.com'")) .setHeader("CamelOlingo2.$select", simple("ID,Name")) .to("olingo2://read/ServiceRequestCollection")
I get an exception while parsing endpoint URI (a space in uri)
{{URISyntaxException: Illegal character in query at index 107: https://myXXXXXX.crm.ondemand.com/sap/c4c/odata/v1/c4codata/ServiceRequestCollection/?$filter=ReporterEmail eq 'user@company.com'&$select=ID,Name
}}
It comes basically from Olingo2AppImpl:224
I tried with
{{ .setHeader("CamelOlingo2.$filter", simple("ReporterEmail%20eq%20%27user@company.com%27"))
}}but then it fails in Olingo2AppImpl:222 while parsing filter expression.
As a conclusion, at Olingo2AppImpl:224 queryParams should be encoded.
here is my patch https://github.com/przem/camel/commit/e239645cadd7130b27cb85bd713cb71140872865
Attachments
Issue Links
- relates to
-
CAMEL-12084 Test encoding for query params in camel-olingo4
- Resolved
- links to