0
此刻我正在撞牆。我做了一些開發,使用CXF和Spring創建WebService。這一切都與Jetty 8一起運行良好,但是當我嘗試使用Tomcat 6運行它時,我甚至無法從請求中獲取WSDL。以下是詳細內容:WebService適用於Jetty,但不適用於Tomcat
我的web界面:
@WebService(name="AlertService")
public interface AlertWebService {
@WebMethod
HandleAlertResponse openHandleAlert(@WebParam(name = "request") HandleAlertRequest request) throws ServiceException;
}
我的web服務IMPL:
@WebService(endpointInterface = "c.h.g.p.service.ws.alert.AlertWebService", serviceName = "AlertService")
public class AlertWebServiceImpl implements AlertWebService {
@Override
public HandleAlertResponse openHandleAlert(HandleAlertRequest request) throws ServiceException {
//Do some stuff
}
我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app ...>
<display-name>Prime Service Webapp</display-name>
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/prime-service-webapp/*</url-pattern>
</servlet-mapping>
</web-app>
端點定義
<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" />
<bean id="alertWebService" class="c.h.g.p.service.ws.alert.AlertWebServiceImpl" />
<jaxws:endpoint implementor="#alertWebService" address="/AlertService" />
,我打的網址,給了我404錯誤
http://localhost:8090/prime-service-webapp/AlertService?wsdl
我已經改變了我的tomcat的配置看端口8090我剛落,我的戰爭稱爲黃金-service-webapp進入tomcat的webapps目錄。在prime-service-webapp目錄中添加index.html文件似乎也可以解決問題。但我根本無法獲得wsdl。
任何想法 - 讓我知道。有什麼特定的tomcat 6服務器配置我需要改變以得到這個工作?
大- 而已!但是我怎樣才能告訴tomcat我真的只想在url中使用一個「prime-service-webapp」?不用修改web.xml,它可以在Jetty下正常工作。我需要與兩個應用程序服務器兼容。 – Ash
我從來沒有嘗試過使用tomcat:S根據本文檔,在部署(或在其管理控制檯中)之後,您可能必須對服務器的配置文件進行一些修改http://tomcat.apache.org/tomcat-6.0-doc /config/context.html –