With the DynamicClient, I THINK you can do:

client.getEndpoint().getEndpointInfo() to get the EndpointInfo.

Then add two interceptors:
MAPCodec
MAPAggregator

The MAPAggregator has a addressingRequired flag that is used to force it on 
all the time.     That should put the two interceptors in place to handle this 
properly.   Caveat: I haven't tried it yet.  :-(

Dan



On Thu March 5 2009 6:26:49 pm Arul Dhesiaseelan wrote:
> Thanks Eoghan for your inputs.
>
> My requirement is to use addressing in the dynamic client which does not
> seem to work. I am not sure if this is a limitation of
> DynamicClientFactory.
> I hope CXF ws-addressing feature can interoperate with non-CXF services
> too.
>
> Appreciate your help.
>
> -Arul
>
> Eoghan Glynn wrote:
> > Hi Arul,
> >
> > We'd a vaguely similar requirement in distributed OSGi and here's the
> > approach I took ...
> >
> > 1. Spring-load a CXF policy feature wrapping the AddressingPolicy
> > assertion.
> >
> >     <p:policies id="nonDecoupledAddressing"
> >         xmlns:p="http://cxf.apache.org/policy";
> >        
> > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
> >rity-utility-1.0.xsd"> <wsp:PolicyReference URI="#AddressingPolicy"/>
> >     </p:policies>
> >     <wsp:Policy wsu:Id="AddressingPolicy"
> >         xmlns:wsp="http://www.w3.org/ns/ws-policy";
> >         xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata";>
> >         <wsam:Addressing>
> >             <wsp:Policy />
> >         </wsam:Addressing>
> >     </wsp:Policy>
> >
> > I had no particular reason not to use the CXF WSAddressingFeature
> > directly, other than to keep it as standardized as possible, as dOSGi is
> > a reference implementation of an OSGi spec. Hence the preference for the
> > standard WS-Policy assertion as opposed to the CXF-specific feature.
> >
> >
> > 2. Using the simple frontend as opposed to the JAX-WS frontend, I grabbed
> > the feature list associated with the ClientProxyFactoryBean via
> > getFeatures() API and then simply added the spring-loaded policy feature
> > to the return list, before using the factory instance to create a proxy
> > with that feature enabled. Et voilĂ , worked a treat.
> >
> >
> > Obviously the detail of your approach is different, in particular the
> > usage of the JAX-WS dynamic client factory as opposed to the equivalent
> > in the simple frontend.
> >
> > Still, the example may be of some help ...
> >
> > Cheers,
> > Eoghan.
> >
> >
> > -----Original Message-----
> > From: Arul Dhesiaseelan [mailto:[email protected]]
> > Sent: Thu 05/03/2009 18:54
> > To: [email protected]
> > Subject: support for configuring addressing in the dynamic client
> >
> > Is it possible to add WSAddressingFeature to the Client created from
> > JaxWsDynamicClientFactory?
> >
> > I tried to do the following, but it failed at runtime due to class cast
> > exception. So, I cannot cast it to a "org.apache.cxf.jaxws.EndpointImpl"
> > which has getFeatures() API.
> > I tried using "org.apache.cxf.endpoint.EndpointImpl" which has an API
> > getActiveFeatures() which returns null when I try to add to the active
> > features list.
> >
> >     EndpointImpl ep = (EndpointImpl)client.getEndpoint();
> >     ep.getFeatures().add(new WSAddressingFeature());
> >
> > Is there any other way to add a feature to the dyna client?
> >
> > Appreciate any suggestions.
> >
> > Thanks!
> > -Arul

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to