java-webservice的简单实现

服务端:java

  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 }

实现类:ide

 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 测试

看到以下,说明发布成功spa

 

 

客户端:代理

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

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

  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

相关文章
相关标签/搜索