Can it be that you enabled the policy engine too late ? Cheers, Sergey ----- Original Message ----- From: "Bharath Ganesh" <[EMAIL PROTECTED]> To: <cxf-user@incubator.apache.org> Sent: Wednesday, September 26, 2007 5:43 AM 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.cacheUnacknowledged >> > (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