WebService基础

来源:互联网 发布:淘宝未发货自动退款 编辑:程序博客网 时间:2024/06/03 01:42
1、WebService工作原理-SOAP


       当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应的方法,方法执行完毕后,将返回结果再次包装为XML,也就是SOAP响应,发送到客户端,最后客户端解析这段XML,最终得到返回结果。


2、WebService实现


       创建WebService 项目
              
       创建WebService类
package service;import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint; @WebServicepublic 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());}}






       编译Hello.java 
              




       测试WebService是否发布成功
              


              

              


       使用wsimport 生成客户端  
    

           使用如下:wsimport -p client -keep http://192.168.24.170:8080/WebServiceTest/Hello?wsdl


              
             这时,会在当前目录中生成如下文件:
               




       创建客户端类
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); }}

运行结果如下:


0 0