cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glynn, Eoghan" <eoghan.gl...@iona.com>
Subject RE: Why does ClientImpl.invoke() override the EndpointInfo address?
Date Sun, 01 Apr 2007 20:52:20 GMT
 


> 2. any overriding of the 
> BindingProvider.ENDPOINT_ADDRESS_PROPERTY in a
> > JAX-WS LogicalHandler is ignored. This is because the
> > ContextPropertiesMapping..mapRequestfromJaxws2Cxf() is only called 
> > upfront in the JaxWsClientProxy.invoke(), but not after the JAX-WS 
> > handlers have been traversed. Surely that's wrong too, or?
> 
> 
> Would we just want to rerun the interceptor after the logical 
> handlers then?
> (I don't really see any other solutions, but thats just me)


Re-run which interceptor?

Or do you mean, re-run the
ContextPropertiesMapping.mapRequestfromJaxws2Cxf() utility after the
logical handlers have been traversed?

Well its not as simple as that unfortunately. 

AFAIK, the policy interceptor that dynamically adds to the chain to
reflect the asserted policies is run the SETUP phase. So the policies
have already been applied to chain *before* the JAX-WS logical handler
gets in and overrides the endpoint address.

Say a client-side external policy attachment asserts the Addressing
policy for endpoint A only. The application kicks off an invocation on
endpoint B. So no WS-A interceptors are included in the chain. Then half
way thru' the dispatch, a logical handler overrides the address so as to
effectively reference endpoint A. But the WS-A interceptors can't be
added retrospectively.

Cheers,
Eoghan

 
> Regards,
> - Dan
> 
> 
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
> 

Mime
View raw message