答案我知道這並不是那種解決方案進展順利的事情,但我擺弄了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