java-webservice的简单实现


服务端:

  1.创建正常j2ee项目,创建service接口

 1 package service;  2 import javax.jws.WebMethod;  3 import javax.jws.WebService;  4 
 5 /**
 6  * WebService2  7  */
 8 @WebService  9 public interface HelloService { 10 
11  @WebMethod 12     String sayHello(String name, int i); 13     
14 }

实现类:

 1 package service.impl;  2 
 3 import javax.jws.WebService;  4 
 5 import service.HelloService;  6 
 7 /**
 8  * HelloServiceImpl  9  */
10 @WebService 11 public class HelloServiceImpl implements HelloService { 12 
13  @Override 14     public String sayHello(String name, int i) { 15         System.out.println("服务端的服务被调用了............"); 16         return "hello" + name; 17  } 18 
19 
20     
21 }

发布服务:

 1 package service;  2 
 3 import javax.xml.ws.Endpoint;  4 
 5 import service.impl.HelloServiceImpl;  6 
 7 
 8 /**
 9  * ServicePublish 10  */
11 public class ServicePublish { 12 
13     public static void main(String[] args) { 14         String address = "http://localhost:8099/hello"; 15         Object implementor = new HelloServiceImpl(); 16  Endpoint.publish(address, implementor); 17         System.out.println("发布成功"); 18  } 19 }

直接运行main方法启动服务端,然后再浏览器访问: http://localhost:8099/hello?wsdl 

看到如下,说明发布成功

 

 

客户端:

  1.用wsimport 工具解析wsdl生成代码

   wsimport -s "生成代码的物理路径" http://localhost:8099/hello?wsdl 

  2.,生成的代码如图(服务端类的名称不一样,生成结果也不一样)

       3.创建一个测试类调用测试

   

 1 package client;  2 
 3 /**
 4  * 1.通过wsimport解析wsdl创建代码  5  * 2.通过本地代码创建代理  6  * 3.通过代理对象调用方法  7  * WsClient  8  */
 9 public class WsClient { 10     public static void main(String[] args) { 11         HelloServiceImplService ss = new HelloServiceImplService(); 12         HelloServiceImpl prosy = ss.getHelloServiceImplPort(); 13         String res = prosy.sayHello("佩佩", 33); 14  System.out.println(res); 15  } 16     
17 }

 

  备注:

  以上环境是基于jdk1.8

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM