The problem here seems to be that the WS-RM layer cannot retrieve the addressing properties that WS-A layer should have stored in the context.
A couple of questions: 1. In a previous mail on this thread you talked about adding the RMInterceptors explicitly in code - I presume you're no longer doing this and are now just relying on the RMAssertion & Addressing policies attached to the WSDL and the PolicyEngine config bean? 2. What version of CXF are you using? Up to quite recently, the <wsaw:UsingAddressing> extension element was also required in the WSDL in order to enable WS-A. Try adding the following child element to your <wsdl:port>: <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2005/02/addressing/wsdl"/> Cheers, Eoghan > -----Original Message----- > From: Bharath Ganesh [mailto:[EMAIL PROTECTED] > Sent: 26 September 2007 05:43 > To: cxf-user@incubator.apache.org > Subject: Re: WS-RM Usage > > My wsdl now contains the RM-Assertion and I have enabled the > policy engine (by getting hold of PolicyEngine from the bus). > > But when I invoke the webservice, I get the following message: > > Failed to retrieve message addressing properties from context > - not ensuring reliable delivery. > Messages Trace: > retrieving MAPs from context property {0};( > org.apache.cxf.ws.addressing.ContextUtils) > WS-Addressing - failed to retrieve Message Addressing > Properties from > context;(org.apache.cxf.ws.addressing.ContextUtils) > retrieving MAPs from context property {0};( > org.apache.cxf.ws.addressing.ContextUtils) > WS-Addressing - failed to retrieve Message Addressing > Properties from > context;(org.apache.cxf.ws.addressing.ContextUtils) > retrieving MAPs from context property {0};( > org.apache.cxf.ws.addressing.ContextUtils) > WS-Addressing - failed to retrieve Message Addressing > Properties from > context;(org.apache.cxf.ws.addressing.ContextUtils) > Failed to retrieve message addressing properties from > context - not ensuring reliable > delivery.;(org.apache.cxf.ws.rm.RMOutInterceptor) > > > What could have gone wrong? > > -Bharath > > > > > On 9/25/07, Glynn, Eoghan <[EMAIL PROTECTED]> wrote: > > > > > > > > The presence of RMAssertion in the WSDL is enough for WS-RM to be > > engaged in the client-runtime *if* the policy engine is > turned on the > > client config, via something like the following: > > > > <bean id="org.apache.cxf.ws.policy.PolicyEngine" > > class="org.apache.cxf.ws.policy.spring.InitializingPolicyEngine"> > > <property name="bus" ref="cxf"/> > > <property name="enabled" value="true"/> > > </bean> > > > > See the ws_policy demo for an example of this usage and also the > > docco[1] for more details. > > > > This automatic injection of capability into the runtime > triggered by > > the presence of policy assertions is one of the main goals > of the CXF > > WS-Policy framework[2]. > > > > Cheers, > > Eoghan > > > > [1] http://cwiki.apache.org/CXF20DOC/wspconfiguration.html > > [2] > http://cwiki.apache.org/CXF20DOC/ws-policy-framework-overview.html > > > > > > > -----Original Message----- > > > From: Bharath Ganesh [mailto:[EMAIL PROTECTED] > > > Sent: 25 September 2007 14:12 > > > To: cxf-user@incubator.apache.org > > > Subject: WS-RM Usage > > > > > > Hi > > > > > > I have been trying to get WS-RM to work in CXF. These are > the steps > > > I followed. > > > > > > WSDL: Reference to a WS-policy, containing a RMAssertion. > > > > > > <wsp:Policy wsu:Id="RM"> > > > <wsam:Addressing> > > > <wsp:Policy/> > > > </wsam:Addressing> > > > <wsrmp:RMAssertion> > > > <wsrmp:BaseRetransmissionInterval Milliseconds="10000"/> > > > </wsrmp:RMAssertion> > > > </wsp:Policy> > > > > > > But this was not enough for the client side RM configuration. > > > The RM Interceptors were not added even thought the > service client > > > (Generated JAX-WS Service class) pointed to this wsdl. > > > > > > So I chose to programatically get hold of the bus, enable > WS-Policy, > > > create the RMFeature, set the RM Store and add the RMInterceptors > > > explicitly. > > > Is that really needed? Shouldn't the runtime do this if wsdl > > > contains a WS-Policy reference, which has a RM assertion? > > > > > > In added RMOutInterceptor, RMInInterceptor, > RMSoapInterceptor (to in > > > and out), RetransmissionInterceptor (to in and out) to the client > > > side org.apache.cxf.endpoint.Endpoint. > > > > > > After configuring all this when the message goes outward from the > > > client I get this exception: > > > > > > Caused by: java.lang.NullPointerException > > > at > > > > org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.cacheUnacknowledge > > > d > > > (RetransmissionQueueImpl.java:202) > > > at > > > > org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.addUnacknowledged( > > > RetransmissionQueueImpl.java:92) > > > at org.apache.cxf.ws.rm.RetransmissionCallback.onClose( > > > RetransmissionCallback.java:56) > > > at > > > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java > > > :113) > > > at > > > > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java > > > :66) > > > at > > > > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:576) > > > at > > > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSen > > > derEndingInterceptor.handleMessage > > > (MessageSenderInterceptor.java:62) > > > at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( > > > PhaseInterceptorChain.java:207) > > > at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) > > > at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) > > > at > > > > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > > > at > > > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java > > > :135) > > > > > > This means the RMProperties is not set in the message. > > > What could go wrong? > > > > > > > ---------------------------- > > IONA Technologies PLC (registered in Ireland) Registered Number: > > 171387 Registered Address: The IONA Building, Shelbourne > Road, Dublin > > 4, Ireland > > > ---------------------------- IONA Technologies PLC (registered in Ireland) Registered Number: 171387 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland