cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glynn, Eoghan" <>
Subject RE: http: URLs and setepURL
Date Mon, 12 Mar 2007 23:15:16 GMT

> -----Original Message-----
> From: Polar Humenn [] 
> Sent: 12 March 2007 20:28
> To:
> 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

> 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  "", 
> specified by a URL of "" 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,
>          ""
> 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

View raw message