Zoltan Farkas created CAMEL-10165:
-------------------------------------
Summary: DefaultCxfMessageMapper.getBasePath creates a incorrect
http path
Key: CAMEL-10165
URL: https://issues.apache.org/jira/browse/CAMEL-10165
Project: Camel
Issue Type: Bug
Components: camel-cxf
Affects Versions: 2.17.2
Reporter: Zoltan Farkas
in DefaultCxfMessageMapper.java:
{code}
protected String getBasePath(Exchange camelExchange) {
String answer = camelExchange.getIn().getHeader(Exchange.HTTP_BASE_URI,
String.class);
if (answer == null) {
answer = camelExchange.getFromEndpoint().getEndpointUri();
}
return answer;
}
{code}
camelExchange.getFromEndpoint().getEndpointUri()
in 2.14 returns a valid http URL for the jetty endpoint...]
meanwhile in 2.17 it return a camel url that includes the scheme and it breaks
the semantics of this method. I had to change the method to:
{code}
protected String getBasePath(Exchange camelExchange) {
String answer = camelExchange.getIn().getHeader(Exchange.HTTP_BASE_URI,
String.class);
if (answer == null) {
Endpoint fromEndpoint = camelExchange.getFromEndpoint();
if (fromEndpoint instanceof HttpCommonEndpoint) {
answer = ((HttpCommonEndpoint)
fromEndpoint).getHttpUri().toString();
} else {
return null;
}
}
return answer;
}
{code}
I am not sure this is the best way to deal with this, but it works...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)