JAX-WS开发的webservice如何在Tomcat下发布

reference: http://www.micmiu.com/soa/webservice/jax-ws-tomcat-deploy/

 

下载 jax-ri  http://jax-ws.java.net/

 

实现类

package cn.believeus.webservice;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebParam.Mode;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
@WebService(
       endpointInterface="cn.believeus.webservice.IUserService",
       serviceName="UserService",// 对应的是<wsdl:service name="UserService">

       portName="webserviceSOAP",// 对应的是 <wsdl:port binding="tns:IUserServiceSOAP" name="webserviceSOAP">

       wsdlLocation="WEB-INF/wsdl/webservice.wsdl",
       targetNamespace="http://webservice.believeus.cn")
public class UserServiceImp implements IUserService{

   @Override
   @WebMethod
   @WebResult(name = "user", targetNamespace = "http://webservice.believeus.cn")
   @RequestWrapper(localName = "getTStudentByHQL", targetNamespace = "http://webservice.believeus.cn", className = "cn.believeus.webservice.GetTStudentByHQL")
   @ResponseWrapper(localName = "getTStudentByHQLResponse", targetNamespace = "http://webservice.believeus.cn", className = "cn.believeus.webservice.GetTStudentByHQLResponse")
   public User getTStudentByHQL(
           @WebParam(name = "hql", targetNamespace = "http://webservice.believeus.cn") String hql) {
       return null;
   }

   @Override
   @WebMethod
   @RequestWrapper(localName = "getTStudentByUser", targetNamespace = "http://webservice.believeus.cn", className = "cn.believeus.webservice.GetTStudentByUser")
   @ResponseWrapper(localName = "getTStudentByUserResponse", targetNamespace = "http://webservice.believeus.cn", className = "cn.believeus.webservice.GetTStudentByUserResponse")
   public void getTStudentByUser(
           @WebParam(name = "user", targetNamespace = "http://webservice.believeus.cn", mode = Mode.INOUT) Holder<User> user) {

   }
}

 

创建:sun-jaxws.xml

在webapp/WEB-INF/ 下创建文件:sun-jaxws.xml

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
   <endpoint name="UserService" 

                     implementation="cn.believeus.webservice.UserServiceImp" 

                     url-pattern="/us" />
</endpoints>

 

在web.xml 中

<listener>
       <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
   </listener>
   <servlet>
       <servlet-name>UserService</servlet-name>
       <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
       <servlet-name>UserService</servlet-name>
       <!-- 该/us和sun-jaxws url-pattern="/us"一致 -->
       <url-pattern>/us</url-pattern>
   </servlet-mapping>

 

成功标志

2013-7-23 23:49:03 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
信息: WSSERVLET12: JAX-WS 上下文监听程序正在初始化
2013-7-23 23:49:05 com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>
信息: WSSERVLET14: JAX-WS servlet 正在初始化

 

访问 www.believeus.cn/us 出现

 

端点 信息
服务名:{http://webservice.believeus.cn}UserService端口名:{http://webservice.believeus.cn}webserviceSOAP 地址:http://www.believeus.cn:8080/usWSDL:http://www.believeus.cn:8080/us?wsdl实现类:cn.believeus.webservice.UserServiceImp

 

 

 

 
posted @ 2017-05-02 16:55  BelieveYous  阅读(87)  评论(0)    收藏  举报