Endpoint address not resolved correctly when message exchange destination is
not instance of AbstractHTTPDestination
--------------------------------------------------------------------------------------------------------------------
Key: CXF-3478
URL: https://issues.apache.org/jira/browse/CXF-3478
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 2.3.4, 2.4, 2.3.3, 2.3.2, 2.4.1, 2.3.5
Reporter: Aukjan van Belkum
Priority: Minor
Issue occurs (for example) if CXF jaxrs server is called as a consumer in a
Camel Route. The jaxrs server is then setup with an direct camel address:
'camel://direct:jaxrsEndpoint', and is fed requests from a camel-jetty
component.
At this point Calls to HttpUtils.getEndpointAddress returns the
'camel://direct:jaxrsEndpoint' address, instead of the actual 'http://'
address. This seems to be correct behavior, but is not what the user might
expect.
I am not completely sure where to change this (since I just stared using CXF),
but I think it is either:
org.apache.cxf.jaxrs.utils.HttpUtils.getEndpointAddress(), where the endpoint
is fetched from the destination of the message, or:
org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(), where an extra check can be
Build in looking for the existence of:
org.apache.cxf.message.Message.BASE_PATH (which can be set to indicate the base
path (I think)), indicating the 'real' HTTP Base Uri, instead of the
destination Endpoint.
I am going to make a patch for the second option, but if anyone has a better
suggestion, please let me know.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira