我正在尝试学习Apache CXF的一些基础知识,并且通常是关于servlet映射的。 我在这里修改了代码:
https://subversion.assembla.com/svn/pablo-examples/spring-cxf-example
我在web.xml
中配置了如下的CXFServlet映射<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
在spring xml(webservice-definition-beans.xml)中 我已经生成了以下服务
<jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/services/HelloWorld" />
我希望通过此网址
访问服务wsdlhttp://localhost:8080/services/HelloWorld?wsdl
但它是
http://localhost:8080/services/services/HelloWorld?wsdl
我在这里有什么不对吗?
servlet-mapping是否只显示哪个url模式映射到要处理的servlet?
在这里它似乎也改变了背景。
答案 0 :(得分:4)
JAX-WS路径与servlet映射有关。如果你想要
http://localhost:8080/services/HelloWorld?wsdl
使用
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/services/HelloWorld" />
或
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/HelloWorld" />