You probably need to add:
<import resource="classpath:META-INF/cxf/cxf-extension-addr.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-policy.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-rm.xml"/>
To get the addressing and policy manager stuff into the Bus.
Dan
On May 13, 2008, at 7:29 AM, Cencio wrote:
Hi, i have some problems deploying a service with ws-rm enabled.
This is my config:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://cxf.apache.org/core"
xmlns:wsa="http://cxf.apache.org/ws/addressing"
xmlns:http="http://cxf.apache.org/transports/http/
configuration"
xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy
"
xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://schemas.xmlsoap.org/ws/2005/02/rm/policy
http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd
http://cxf.apache.org/ws/rm/manager
http://cxf.apache.org/schemas/configuration/wsrm-manager.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<cxf:bus>
<cxf:features>
<cxf:logging/>
<wsa:addressing/>
<wsrm-mgr:reliableMessaging>
<wsrm-policy:RMAssertion>
<wsrm-policy:BaseRetransmissionInterval
Milliseconds="4000"/>
<wsrm-policy:AcknowledgementInterval
Milliseconds="2000"/>
</wsrm-policy:RMAssertion>
<wsrm-mgr:destinationPolicy>
<wsrm-mgr:acksPolicy intraMessageThreshold="0" />
</wsrm-mgr:destinationPolicy>
</wsrm-mgr:reliableMessaging>
</cxf:features>
</cxf:bus>
<jaxws:endpoint id="ese8ordine"
serviceName="s:OrdineService"
implementor="isi.esercitazione.ese8.server.Server_MessageLevel"
address="/ordine"
xmlns:s="http://www.rivenditore.org/Ordine"
wsdlLocation="WEB-INF/ordini.wsdl"/>
</beans>
This don't deploy:
exception
javax.servlet.ServletException: Servlet.init() for servlet
CXFServlet threw
exception
org
.apache
.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org
.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
174)
org
.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
874)
org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
org
.apache
.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
528)
org
.apache
.tomcat
.util
.net
.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)
root cause
java.lang.NullPointerException
org
.apache
.cxf.ws.rm.feature.RMFeature.initializeProvider(RMFeature.java:75)
org
.apache.cxf.feature.AbstractFeature.initialize(AbstractFeature.java:
47)
org.apache.cxf.bus.CXFBusImpl.initializeFeatures(CXFBusImpl.java:108)
org.apache.cxf.bus.CXFBusImpl.initialize(CXFBusImpl.java:102)
org
.apache
.cxf.bus.spring.SpringBusFactory.initializeBus(SpringBusFactory.java:
124)
org
.apache
.cxf
.bus.spring.SpringBusFactory.finishCreatingBus(SpringBusFactory.java:
79)
org
.apache
.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
org
.apache
.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:87)
org
.apache
.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:65)
org
.apache
.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:54)
org
.apache
.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:103)
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:
64)
org
.apache
.cxf
.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:86)
org
.apache
.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org
.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
174)
org
.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
874)
org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
org
.apache
.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
528)
org
.apache
.tomcat
.util
.net
.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:689)
If i remove the policy assertion it deploy successfully but reply
with a
empty soap message to the createSequenceRequest.
Any suggestion?
--
View this message in context:
http://www.nabble.com/WS-RM-on-Tomcat-tp17206290p17206290.html
Sent from the cxf-user mailing list archive at Nabble.com.
---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog