In the HttpConduit I have noticed that the "url" for the conduit is set up in the constructors from the EndpointInfo, or the EndpointReferenceType.

However, it maybe totally overridden in send(Message) by the Message.ENDPOINT_ADDRESS on the message. What purpose does this have?

Shouldn't this conduit ONLY be sending messages to the endpoint designated (configured) for it?

Furthermore, the code fragment in setupURL

       String result = value != null ? value : url.toString();
        if (null != pathInfo && !result.endWith(pathInfo)) {
               result = result + pathInfo;
       }

has a bit of a caveat in that you'd never be able to send a request to a location of "http://somewhere.com/xx/xx";, specified by a URL of "http://somwhere.com/xx"; a Message.PATH_INFO property of "/xx".

Now some might say "why would you want to do that?" I know "xx" doesn't make sense to most, but what about,

        "http://somewhere.com/path/to/parent/..";

as a URL location built up from other things you might have dealt with, and you want to set a path from there to be "/.." Then you are in a completely different location than you want to be.

Is there a specific "contract" are placed on Message.ENDPOINT_ADDRESS, Message.PATH_INFO for this situation, or its it a bug?

Cheers,
-Polar

Reply via email to