Tomcat上发布webservices的war工程,访问异常404
Posted 整合侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat上发布webservices的war工程,访问异常404相关的知识,希望对你有一定的参考价值。
Tomcat上发布webservices的war工程,访问异常404
Tomcat部署正常、war导出工程正常、Tomcat自带的工程可以正常访问;
问题:
webservices工程访问异常404
解决方案:
因为webservices的wsdl访问设置的端口与tomcat端口冲突;
package nc.xyzq.listener; import java.net.InetAddress; import java.net.UnknownHostException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import javax.xml.ws.Endpoint; import nc.xyzq.uuib.service.impl.FrServiceImpl; /** * @author gacl * 用于发布WebService的监听器 */ //使用Servlet.提供的@WebListener注解将实现了ServletContextListener接口的WebServicePublishListener类标注为一个Listener @WebListener public class WebServicePublishListener implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent sce) { System.gc(); } @Override public void contextInitialized(ServletContextEvent sce) { //WebService的发布地址 String ip =""; try { ip = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("本机的IP = " + ip); String address = "http://"+ip+":8080/webservices/WebService"; //发布WebService,WebServiceImpl类是WebServie接口的具体实现类 Endpoint.publish(address , new FrServiceImpl()); System.out.println("使用WebServicePublishListener发布webservice成功!"); } }
端口8080跟tomcat的端口冲突;将wsdl地址的端口改为8060即可;
以上是关于Tomcat上发布webservices的war工程,访问异常404的主要内容,如果未能解决你的问题,请参考以下文章
tomcat 用AXIS2发布WebService 网站的方法