I described the error in stackoverflow as well (for better formatting)

https://stackoverflow.com/questions/66207876/problems-with-camel-dynamicendpoint-tod-and-http-component

--------

I'm using Camel Version 3.7 with Java 11 (AdoptOpenJDK)

I'm trying to make an http-call with dynamic timeout, passed by header

Map<String,Object> headerMap=new HashMap<>();
headerMap.put(Exchange.HTTP_URI, "http://myserver.example.com";);
headerMap.put("timeout", 5000);
main.getCamelTemplate().sendBodyAndHeaders("direct:test_http_dynamic",null,headerMap);

the endpoint looks like this:


from("direct:test_http_dynamic")
  .toD("http:test.dyn?socketTimeout=${in.header.timeout}");

This leads to this Stacktrace:

org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: 
http://http:test.dyn due to: Failed to resolve endpoint: http://http:test.dyn 
due to: The uri part is not configured correctly. You have duplicated the 
http(s) protocol.
    at 
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:912)
 ~[camel-base-engine-3.7.0.jar:3.7.0]
    at 
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:798)
 ~[camel-base-engine-3.7.0.jar:3.7.0]
    at 
org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:73)
 ~[camel-support-3.7.0.jar:3.7.0]
    at 
org.apache.camel.support.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:112)
 ~[camel-support-3.7.0.jar:3.7.0]

Reply via email to