There might be another issue in the MAPAggregator as well. The
messageIds field has two issues:
1) It's not thread safe. Probably change to ConcurrentHashMap or use a
synchronized map.
2) There is a put, but I don't see any removes anywhere. That concerns
me.
Dan
On Wednesday 07 November 2007, James Mao wrote:
> Thanks Jim,
>
> There's couple ways to enable the ws-a, and it's in
> MAPAggregator.usingAddressing, i guess you probably saw the code
> already.
>
> James
>
> > Hi ,
> >
> > It seems do not work even I explicitly set UsingAddressingAdvisory
> > to true. This is an issue in the WSAddressingFeature.
> >
> > The only way I can get it working is add wsdl url , service name and
> > endpoint name to JaxWsProxyFactoryBean :
> >
> > factory.setServiceName(SERVICE_NAME);
> > factory.setEndpointName(PORT_NAME);
> > factory.setWsdlURL(wsdl.toURL().toString());
> >
> > And MAPAggregator can get the UsingAdressing information through
> > wsdl .
> >
> > Regards
> >
> > Jim
> >
> >> James,
> >>
> >> This is one of the things of the ws-addressing feature that I
> >> personally think is totally broken.
> >> If you do:
> >>
> >> WSAddressingFeature feature = new WSAddressingFeature();
> >> feature.setUsingAddressingAdvisory(true);
> >> factory.getFeatures().add(feature);
> >>
> >> it probably will work. IMO, the "true" flag should be the DEFAULT
> >> when using the WSAddressingFeature.
> >>
> >> Dan
> >>
> >> On Wednesday 07 November 2007, James Mao wrote:
> >>> Hi,
> >>>
> >>> I'm trying to enable the ws-a through the API approach which
> >>> described in the doc [1], but the message i captured told me that
> >>> the ws-a is definitely not working.
> >>>
> >>> Client side code:
> >>>
> >>> JaxWsProxyFactoryBean factory = new
> >>> JaxWsProxyFactoryBean(); factory.setServiceClass(Greeter.class);
> >>>
> >>> factory.setAddress("http://localhost:8080/SoapContext/SoapPort");
> >>> factory.getFeatures().add(new WSAddressingFeature()); Greeter port
> >>> = (Greeter) factory.create();
> >>>
> >>> Service side code:
> >>>
> >>> EndpointImpl ep = (EndpointImpl)
> >>> Endpoint.create(implementor); ep.getFeatures().add(new
> >>> WSAddressingFeature());
> >>> ep.publish(address);
> >>>
> >>> Am I miss anything?
> >>>
> >>> Or
> >>>
> >>> We have to use the Spring config to enable to ws-a?
> >>>
> >>>
> >>> Thanks in advance!
> >>> James
> >>>
> >>>
> >>>
> >>> [1]http://cwiki.apache.org/CXF20DOC/ws-addressing.html
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog