JAX-WS 开发webservices实例
1.编写服务端:
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService
public class Hello {
private String message = new String("Hello, ");
public Hello() {
}
@WebMethod
public String sayHello(String name) {
return message + name + ".";
}
}
注:tomcat可能出错 可能jdk版本过低
增加@SOAPBinding(style = SOAPBinding.Style.RPC)
2.编写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='helloService' implementation='jaxwss.Hello' url-pattern='/helloService' />
</endpoints>
3.web.xml配置
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>wSServlet</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>wSServlet</servlet-name>
<url-pattern>/helloService</url-pattern>
</servlet-mapping>
3.启动tomcat 发布webservices
4.查看是否发布成功
http://localhost:8080/test/helloService?wsdl
5.生成客户端(利用wsimport方式)
wsimport -p jaxwss -s E: http://localhost:8080/test/helloService?wsdl
6.打包
将生成的class 文件打成jar包
7.编写客户端
将jar 导入客户端项目
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.sayHello("你好");
System.out.println(hello);
}
输出:Hello, 你好.