答案我知道这并不是那种解决方案进展顺利的事情,但我摆弄了web.xml和servlet.xml文件,并且出于某种原因,它现在可以工作,现在我可以获得服务列表和wsdl文件。我将我的新文件与下面编写的旧文件进行了比较,唯一的区别是web.xml具有名称CXFServlet而不是LoginService,并且我已为cxfservlet.xml端点提供了一个地址。从运行在Tomcat上的CXF web服务中获取WSDL
我有一个问题,我有(最后)在Tomcat上进行CXF Web服务部署。或者,它确实启动了,并且在部署和重新部署时,它不会在tomcat日志中产生任何警告或例外。问题是我无法检索有问题的服务的WSDL。我开始认为我不了解web.xml和cxf.xml文件以及我的想法。
当我写http://localhost:8080/services/Login?wsdl我期望WSDL弹出,但我得到的只是一个404。我做错了什么?正如我所说我没有得到任何例外,那么我的问题是什么?
编辑: 由于一些有用的反馈(我记得标记为有用的),我意识到我可能已经在我的web.xml中设置了错误的上下文路径。我通过tomcat中的管理器应用程序在名为LoginService.war的文件中部署该服务。 这引出了一个问题:我可以这样做吗?请问tomcat知道在LoginService lib中查找CXFServlet类,还是会在ROOT中查找?我是否需要重新配置服务器以允许我从http://localhost:8080/LoginService运行?
的web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>LoginService</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:metadata/Login/cxfservlet.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>LoginService</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
cxfservlet.xml
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org
/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:endpoint id="LoginService"
implementor="orgserver.services.Login" wsdlLocation="WEB-INF/LoginService.wsdl"
address="/">
</jaxws:endpoint>
</beans>
你写'address =“/”'。所以试试http:// localhost:8080/services /?wsdl – 2012-02-17 11:54:16
给出404以及 – 2012-02-17 11:58:41
我是否至少正确理解了这个问题?我指定了类CXFServlet在每个提供的类似/ services/*的url上运行。该CXFServlet类是将我在cxfservlet.xml文件中指定的bean作为端点并处理web服务操作?它也是负责返回WSDL的CXFServlet? – 2012-02-17 12:05:31