Frantisek Sichinger created CAMEL-12086:
-------------------------------------------
Summary: Service call definition - Simple language expresion in
uri is not being evaluated
Key: CAMEL-12086
URL: https://issues.apache.org/jira/browse/CAMEL-12086
Project: Camel
Issue Type: Bug
Affects Versions: 2.20.1
Environment: Spring boot
Reporter: Frantisek Sichinger
I'm facing some problems with service call definition.
A route is supposed to send some get requests to a specific endpoint. The
endpoint requires a parameter in its path - `GET <host>:<port>/api/.../<id>`
Route definition:
```
routebuilder.from("direct:getSomeEntity")
.setHeader(Exchange.HTTP_METHOD, constant(HttpMethod.GET))
.serviceCall()
.name("test")
.uri("test/api/.../${fid}")
.end()
...
```
This route did not work and the `${fid}` parameter was never resolved despite
the javadoc states that the uri may contain simple language expressions
See -
`https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java#L187`
Route execution:
```
camelContext.createFluentProducerTemplate()
.withHeader("fid", id)
.to("direct:getSomeEntity")
...
```
Eventually i got it work with following workaround
```
.serviceCall()
.name("test")
.expression()
.simple("http4://${header.CamelServiceCallServiceHost}:${header.CamelServiceCallServicePort}/api/.../${fid}")
.end()
```
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)