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.