Java6上开发WebService
最近在研究java开发webservice , 经过在网上查询资料后,自己也尝试了下,以下是我的简单例子!
我的环境是jdk1.6+myEclipse6.5
1. 首先创建Java Project,并构建好项目的包目录,如下图
2. 然后创建webservice 服务端的类 :Java6WebService.java
package com.edison.ws; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class Java6WebService { /** * @param args */ public static void main(String[] args) { String url="http://localhost:8080/AxisWS/com.edison.ws.Java6WebService"; Endpoint.publish(url,new Java6WebService()); } public String SayHello(){ return "Hello, this is a webservice application!"; } }
3. 运行Java6WebService.java 类. 控制台信息如下:
该类运行后,不要关闭,保持运行状态
打开浏览器,输入地址:http://localhost:8080/AxisWS/com.edison.ws.Java6WebService?wsdl ,得到如下信息:
4. 调用服务,Java 6 提供了生成webservice的客户端代码工具。
注意,生产客户端代码需要保持服务端正常运行状态。
dos命令行进入 项目的src 目录,然后执行以下命令
wsimport –p com.edison.wsclient –keep http://localhost:8080/AxisWS/com.edison.ws.Java6WebService?wsdl
此时,项目已经自动生成了客户端代码。刷新项目得到如下目录结构:
客户端代码自动生成后不需要修改,如果服务端代码有修改,可以按照这个命令方式生产客户端代码。
到此, 客户端代码生成结束。
5. 编写测试类 RunTest.java
package com.edison; import com.edison.wsclient.Java6WebService; import com.edison.wsclient.Java6WebServiceService; public class RunTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Java6WebService java6WS = new Java6WebServiceService().getJava6WebServicePort(); String returnContent = java6WS.sayHello(); System.out.println(returnContent); } }
运行 RunTest.java 得到以下结果:
如运行RunTest.java 没反应,请重新启动服务端,再执行测试类!
到此,java 6 webservice的例子 完成!