Java WebService入门实例

1、WebService工作原理-SOAP

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

2、WebService实现

       创建WebService 项目

              

 

       创建WebService类     

View Code
 1 package service;
 2         
 3         import javax.jws.WebMethod;
 4         import javax.jws.WebService;
 5         import javax.xml.ws.Endpoint;
 6          
 7         @WebService
 8         public class Hello {
 9             
10             @WebMethod(operationName="sayHello1")
11             public String sayHello(String userName)
12             {
13                 return "Hello,"+userName+"!";
14             }
15             
16             @WebMethod(operationName="sayHello2")
17             public String sayHello(){
18                 return "Hello World!";
19             }
20             public static void main(String[] args){
21                 //将WebService发布到指定地址
22                 Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello", new Hello());            
23             }
24         }

   编译Hello.java 

              


       测试WebService是否发布成功
              

              

       使用wsimport 生成客户端  
               使用如下:wsimport -p client -keep http://192.168.24.170:8080/WebServiceTest/Hello?wsdl
              
             这时,会在当前目录中生成如下文件:

              

 

       创建客户端类

      

View Code
 1         public class HelloClient {
 2             public static void main(String args[]) {   
 3                 HelloService service = new HelloService();   
 4                 Hello helloProxy = service.getHelloPort();   
 5                 String hello = helloProxy.sayHello1("世界");
 6                 System.out.println(hello);
 7                 String hello1 = helloProxy.sayHello2("");
 8                 System.out.println(hello1); 
 9             }
10         }    

 

              运行结果如下

              

 

       到此,相信你已经基本掌握WebService使用,再此基础上适当扩展,我们就可以将其放到我们的实际应用中了!

 

 

posted @ 2013-04-23 15:41  zs234  阅读(1107)  评论(1)    收藏  举报