我正在尝试学习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" />我希望通过这个URL访问服务wsdl
http://localhost:8080/services/HelloWorld?wsdl但它是
http://localhost:8080/services/services/HelloWorld?wsdl我在这里有什么不对吗?
servlet-mapping是否仅显示哪个url模式映射到要处理的servlet?
在这里它似乎也改变了背景。
I am trying to learn some basics of Apache CXF and generally about servlet-mappings. and I have modified the code here:
https://subversion.assembla.com/svn/pablo-examples/spring-cxf-example
I have configured CXFServlet mapping as below in web.xml
<servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>in the spring xml(webservice-definition-beans.xml) I have generated the service as below
<jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/services/HelloWorld" />I was expecting to access to the service wsdl via this url
http://localhost:8080/services/HelloWorld?wsdlbut it is
http://localhost:8080/services/services/HelloWorld?wsdlDo I know something wrong here ?
Does not servlet-mapping only show which url pattern maps to which servlet to process ?
In here It seems it also changes context.
最满意答案
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" />The JAX-WS path is relative to servlet mapping. If you want
http://localhost:8080/services/HelloWorld?wsdluse either
<servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/services/HelloWorld" />or
<servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <jaxws:endpoint id="helloWorld" implementor="#helloWorldService" address="/HelloWorld" />更多推荐
发布评论