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

Reply via email to