webservice - 使用JAX-WS注解的方式快速搭建服务端和客户端

Posted StrongHan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webservice - 使用JAX-WS注解的方式快速搭建服务端和客户端相关的知识,希望对你有一定的参考价值。

1.Define the interface

 1 import javax.jws.WebMethod;
 2 import javax.jws.WebParam;
 3 import javax.jws.WebResult;
 4 import javax.jws.WebService;
 5 import javax.jws.soap.SOAPBinding;
 6 import javax.jws.soap.SOAPBinding.Style;
 7 
 8 @WebService
 9 
10 @SOAPBinding(style = Style.RPC)
11 public interface ISay {
12     @WebMethod(operationName="HansayHello")
13     @WebResult(name="myReturn")
14     public String sayHello(@WebParam(name="name") String name);
15     
16     @WebMethod(operationName="HansayGoodBye")
17     @WebResult(name="myReturn")
18     public String sayGoodbye(@WebParam(name="name")String name);
19     
20     @WebMethod(exclude=true)//当前方法不被发布出去
21     public String sayHello2(@WebParam(name="name")String name);
22 }

 

2.Implement the interface

 1 import javax.jws.WebService;
 2 
 3 
 4 /**
 5  * WebService
 6  * 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
 7  */
 8 @WebService(endpointInterface = "com.mobile263.ISay")
 9 public class SayImpl implements ISay {
10     
11  
12     public String sayHello(String name){
13     System.out.println("sayHello got the request:"+name);    
14         return  "hello: " + name;
15     }
16     
17    
18     public String sayGoodbye(String name){
19     System.out.println("sayGoodBye got the request:"+name);
20         return  "goodbye: " + name;
21     }
22     
23    
24     public String sayHello2(String name){
25         return "hello " + name;
26     }
27 
28 
29 }

 

3. Publish the ws in server

 1 import javax.xml.ws.Endpoint;
 2 
 3 /**
 4  * WebService
 5  * 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
 6  */
 7 
 8 public class Wsserver {
 9 
10     public static void main(String[] args) {
11         /**
12          * 参数1:服务的发布地址
13          * 参数2:服务的实现者
14          *  Endpoint  会重新启动一个线程
15          */
16         Endpoint.publish("http://localhost:8090/WStest/com.mobile.Wsserver", new SayImpl());
17         System.out.println("Server ready...");
18     }
19 
20 }

 

4. Input the link on brouswer and enter,the wsdl will be shown.   --> http://localhost:8090/WStest/com.mobile.Wsserver?wsdl

 

5. Use wsimport to export the client files

wsimport -d d: -keep -verbose http://localhost:8090/WStest/com.mobile.Wsserver?wsdl

 

 

 



以上是关于webservice - 使用JAX-WS注解的方式快速搭建服务端和客户端的主要内容,如果未能解决你的问题,请参考以下文章

真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService

WebService:JAX-WS实现WebService

Jax-ws 开发webService ,并使用spring注入service类中遇到 空指针

如何使用 oAuth 2.0 保护 apache cxf webservice(jax-ws)

如何调用别人提供的webservice接口

用JAX-WS在Tomcat中发布WebService