注:本文章转载自http://www.2cto.com/kf/201304/205609.html(红黑联盟)
1、WebService工作原理-SOAP
当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应的方法,方法执行完毕后,将返回结果再次包装为XML,也就是SOAP响应,发送到客户端,最后客户端解析这段XML,最终得到返回结果。
2、WebService实现
(1)创建WebService 项目
(2)创建WebService类
package service; import javax.jws.WebMethod; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class Hello { @WebMethod(operationName="sayHello1") public String sayHello(String userName) { return "Hello,"+userName+"!"; } @WebMethod(operationName="sayHello2") public String sayHello(){ return "Hello World!"; } public static void main(String[] args){ //将WebService发布到指定地址 Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello", new Hello()); } }
(3)编译Hello.java
(4)测试WebService是否发布成功
(5)使用wsimport 生成客户端
使用如下:wsimport -p client -keep
这时,会在当前目录中生成如下文件:
(6)创建客户端类
public class HelloClient { public static void main(String args[]) { HelloService service = new HelloService(); Hello helloProxy = service.getHelloPort(); String hello = helloProxy.sayHello1("世界"); System.out.println(hello); String hello1 = helloProxy.sayHello2(""); System.out.println(hello1); } }
(7)运行结果如下