Java WebService入门实例

来源:互联网 发布:vscode markdown 插件 编辑:程序博客网 时间:2024/05/18 22:56

1、WebService工作原理-SOAP

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

2、WebService实现


       创建WebService 项目

             \


       创建WebService类


[java]
 
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());            
    } 

  
  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());   
   }
  }

 

       编译Hello.java
             

\
       测试WebService是否发布成功
             \

             

       使用wsimport 生成客户端 
   \
           使用如下:wsimport -p client -keep               
             这时,会在当前目录中生成如下文件:

             

 \


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

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