JAX-WS Web Service小试牛刀
1、使用Eclipse新建Java工程JavaDemo
2、新建包com.kira.ws
3、在包com.kira.ws新建类Hello,代码如下
1 package com.kira.ws; 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 11 public String sayHi(String name) { 12 return "hello, "+name+"\n"; 13 } 14 15 public static void main(String[] args) { 16 17 Hello hello = new Hello(); 18 //服务发布地址 http://localhost:9090/hello 地址端口随意,确保不被占用 19 Endpoint.publish("http://localhost:9090/hello", hello); 20 System.out.println("service success!"); 21 } 22 }
4、编译运行
服务发布成功后,我们可以在浏览器键入如下地址:http://localhost:9090/hello?wsdl查看服务对应wsdl文件
5、打开命令提示行窗口,切换到工程目录下,执行wsimport命令(具体上图)。
运行以上命令后,wsimport根据wsdl文件为我们生成了客户端存根和框架,如下:
6、接下来我们新建一个测试类com.kira.ws.client.ServiceTest,测试通过wsimport生成的存根来调用com.kira.ws.Hello服务中的sayHi方法。
1 package com.kira.ws.client; 2 3 public class ServiceTest { 4 5 public static void main(String[] args) { 6 7 Hello hello = new HelloService().getHelloPort(); 8 String ret = hello.sayHi("kira"); 9 System.out.println(ret); 10 11 } 12 }
编译运行,控制台显示:
备注:此文作为看书之后的动手记录,权当读书笔记,第一次发博,文章表达不清之处,如有读者,还请包涵。