> -----Original Message-----
> From: Polar Humenn [mailto:[EMAIL PROTECTED] 
> Sent: 12 March 2007 20:28
> To: [email protected]
> Subject: http: URLs and setepURL
> 
> 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?


I'd imagine the purpose is to support the standard JAX-WS mechanism
whereby the application can explicitly control the target address by
setting the BindingProvider.ENDPOINT_ADDRESS_PROPERTY on the request
context. 


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


Not necessarily. 

The purpose of the BindingProvider.ENDPOINT_ADDRESS_PROPERTY is to give
the client application the flexibility to override the target endpoint
address if necessary. For example the service may have migrated to a new
address, but the WSDL or annotated Java available to the client app may
be out-of-date.


> 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".


If you think this is an important usage scenario, feel free to submit a
patch with a fix.
 

> 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