首页 > Java教程

一、WebService入门——helloService

2015-08-05 14:00:08

既然是入门,那helloworld当之无愧啊,,,,

 

1、创建两个Java工程,一个做为webservice的服务端,一个做为webservice的客户端。

 

2、首先在WSService工程中,编写service端,其中注意细节已经在代码中体现

Java代码 复制代码 收藏代码
  1. package com.wang.webservice.service;  
  2.   
  3. import javax.jws.WebService;  
  4. import javax.
  5.   
  6. /* 
  7.  * @WebService注解 
  8.  *  标注该类为webservice的服务端 
  9.  */  
  10. @WebService  
  11. public class HelloService {  
  12.       
  13.     /* 
  14.      * 一个service类,必须有一个能够被调用的方法 
  15.      * 该方法不能是static和finally 
  16.      */  
  17.     public String say(){  
  18.         return "hello world!!";  
  19.     }  
  20.       
  21.     public static void main(String[] args) {  
  22.                 /* 
  23.          * 参数1:服务地址 
  24.          * 参数2:服务类 
  25.          */  
  26.         Endpoint.publish("http://127.0.0.1:1234/wsservice/hello", new HelloService());  
  27.     }  
  28. }  

package com.wang.webservice.service;import javax.jws.WebService;import javax.

 3、运行项目后,如下图所示:

 

 3、此时webservice的服务端已经准备就绪,只等待客户端来调用了。为了让客户端能够使用服务端,还要做一些准备工作,首先我们要知道wsdl是什么东东,在浏览器中输入我们之前定义的服务地址,如下图所示:  这就是生成的esdl,其实就是使用说明书而已,使用情况我们在客户端代码中体现。

4、在cmd中输入命令:F:\> wsimport -s . http://127.0.0.1:1234/wsservice/hello?wsdl    来生成客户端能够使用的代码,

 

 生成的文件在F盘中:

 

文件路径与我们写service类是的包名称一致。

5、将这些代码(当然要带上包了)copy到我们的客户端代码中:

 

6、编写客户端代码:

Java代码 复制代码 收藏代码
  1. package com.wang.webservice.client;  
  2.   
  3. import com.wang.webservice.service.HelloService;  
  4. import com.wang.webservice.service.HelloServiceService;  
  5.   
  6. public class HelloClient {  
  7.   
  8.     public static void main(String[] args) {  
  9.           
  10.         /* 
  11.          * WSDL文件中: 
  12.          *  <service name="HelloServiceService"> 
  13.          * 得出 
  14.          */  
  15.         HelloServiceService hss = new HelloServiceService();  
  16.           
  17.           
  18.         /* 
  19.          * WSDL文件中: 
  20.          *  <port name="HelloServicePort" binding="tns:HelloServicePortBinding"> 
  21.          * 得出 
  22.          */  
  23.         HelloService hs = hss.getHelloServicePort();  
  24.           
  25.         String s = hs.say();  
  26.           
  27.         System.out.println(s);  
  28.           
  29.     }  
  30.       
  31. }  

package com.wang.webservice.client;import com.wang.webservice.service.HelloService;import com.wang.webservice.service.HelloServiceService;public class HelloClient {	public static void main(String[] args) {				/*		 * WSDL文件中:		 * 	<service name="HelloServiceService">		 * 得出		 */		HelloServiceService hss = new HelloServiceService();						/*		 * WSDL文件中:		 * 	<port name="HelloServicePort" binding="tns:HelloServicePortBinding">		 * 得出		 */		HelloService hs = hss.getHelloServicePort();				String s = hs.say();				System.out.println(s);			}	}

 7、运行客户端程序:

 

java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap HTML5

【java框架源码下载】