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 |

浙公网安备 33010602011771号