Tomcat 6 Web服务未部署404错误

时间:2013-02-26 21:26:52

标签: tomcat deployment web jax-ws

我一直在尝试在tomcat上部署一个简单的Web服务,但我没有成功,它总是返回404错误。

我使用了此示例中的代码

http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/

但是无法使用war,因为我在server.xml中设置了上下文信息

所以我使用与mkyong相同的代码,但是使用

上的步骤进行部署

How to manually deploy a web service on Tomcat 6?

我正在处理它,直到catalina.log中没有更多错误,仍然有404错误

当我查看日志时,会出现一些这样的消息

2013年2月26日下午12:17:48 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized 信息:WSSERVLET12:JAX-WS上下文侦听器初始化 2013年2月26日下午12:17:49 com.sun.xml.ws.transport.http.servlet.WSServletDelegate 信息:WSSERVLET14:JAX-WS servlet初始化 2013年2月26日下午12:17:49 org.apache.catalina.startup.HostConfig deployDescriptor 信息:部署配置描述符trafficschoolgirls.com.xml 2013年2月26日下午12:17:49 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized 信息:WSSERVLET12:JAX-WS上下文侦听器初始化 2013年2月26日下午12:17:51 com.sun.xml.ws.transport.http.servlet.WSServletDelegate 信息:WSSERVLET14:JAX-WS servlet初始化

所以我的ws设置正确吗?但我真的不知道为什么它仍然无法正常工作,是否有其他我可以检查的日志或我需要设置的地方让ws运行?我需要做任何端口设置吗?

感谢您的时间,

多利

1 个答案:

答案 0 :(得分:0)

我在同一个应用程序中的Tomcat 6中有两个WebServices。

文件/WEB-INF/sun-jaxws.xml中有两个端点,其中包含个人url-pattern

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
    <endpoint name="HtmlPageService" 
              implementation="org.paulvargas.tools.soap.HtmlPageService" 
              url-pattern="/HtmlPageService" />
    <endpoint name="BinaryFileService" 
              implementation="org.paulvargas.tools.soap.BinaryFileService" 
              url-pattern="/BinaryFileService" />
</endpoints>

url-pattern也位于WSServlet

servlet-mapping
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 <display-name>soap</display-name>
 <listener>
  <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
 </listener>
 <servlet>
  <servlet-name>Service</servlet-name>
  <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
  <load-on-startup>0</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>Service</servlet-name>
  <url-pattern>/HtmlPageService</url-pattern>
  <url-pattern>/BinaryFileService</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
     <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

该应用程序具有下一个库:

commons-io-2.4.jar
gmbal-api-only.jar
ha-api.jar
jaxb-impl.jar
jaxws-api.jar
jaxws-rt.jar
management-api.jar
mimepull-1.3.jar
policy.jar
stax-ex.jar
streambuffer.jar

启动Tomcat的输出是

Feb 26, 2013 7:16:58 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Feb 26, 2013 7:16:58 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 438 ms
Feb 26, 2013 7:16:58 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Feb 26, 2013 7:16:58 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
Feb 26, 2013 7:16:58 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Feb 26, 2013 7:16:59 PM com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>
INFO: WSSERVLET14: JAX-WS servlet initializing
Feb 26, 2013 7:16:59 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Feb 26, 2013 7:16:59 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Feb 26, 2013 7:16:59 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17  config=null
Feb 26, 2013 7:16:59 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1608 ms

转到网址http://localhost:8080/soap/HtmlPageService

        Service Name:   {http://soap.tools.paulvargas.org/}HtmlPageServiceService
           Port Name:   {http://soap.tools.paulvargas.org/}HtmlPageServicePort
             Address:   http://localhost:8080/soap/HtmlPageService
                WSDL:   http://localhost:8080/soap/HtmlPageService?wsdl
Implementation class:   org.paulvargas.tools.soap.HtmlPageService

        Service Name:   {http://soap.tools.paulvargas.org/}BinaryFileServiceService
           Port Name:   {http://soap.tools.paulvargas.org/}BinaryFileServicePort
             Address:   http://localhost:8080/soap/BinaryFileService
                WSDL:   http://localhost:8080/soap/BinaryFileService?wsdl
Implementation class:   org.paulvargas.tools.soap.BinaryFileService

我希望这可以帮到你。