一、需求
- 上一章节虽然将webservice和web项目绑定在了一起,但是还是不能共同一个端口,本章讲解webservice和web项目绑定且共同端口。
二、案例
2.1 创建web工程,并引入依赖
2.2 编写服务接口
package service;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService(targetNamespace="http://www/shyroke.com/")
public interface IFirst {
@WebResult(name = "addResult")
public int add(@WebParam(name = "x") int x, @WebParam(name = "y") int y);
}
2.3 编写服务接口代理类
package service;
import javax.jws.WebService;
@WebService(endpointInterface="service.IFirst")
public class FirstDelegate implements IFirst{
public int add(int x, int y) {
return x+y;
}
}
2.4 在WEB-INF目录下建立并编写sun-jaxws.xml
<?xml version = "1.0"?>
<endpoints version="2.0"
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
<endpoint name="first" implementation="service.FirstDelegate"
url-pattern="/firstPort">
</endpoint>
</endpoints>
- 其中 url-pattern为浏览器浏览webserice服务的地址,implementation是服务接口的代理类
2.5 配置web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>public</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>public</servlet-name>
<url-pattern>/firstPort</url-pattern>
</servlet-mapping>
</web-app>
2.6 结果
2.7 最后再生成客户端即可