1. 程式人生 > >Tomcat上發布webservices的war工程,訪問異常404

Tomcat上發布webservices的war工程,訪問異常404

eve tomcat initial ces contex new etl tom font

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