近日项目涉及到Java开发WebService的问题,于是参考项目网络等相关资料,写了一份简单说明,贴于CSDN,与各位朋友分享。
一、 开发环境
从Java6开始,JDK中已经支持用Java开发WebService应用了,不必选用第三方包。因此建议授课软件环境如下:
软件及其版本 | 必需 | 安装顺序 |
JDK1.6u13 | 必需 | 1 |
Eclipse3.7 JavaEE版 | 必需 | 2 |
如果软件下载和安装有问题,可另行沟通。
二、 样例说明
下面是一个Java6开发Web Service的入门例子,项目结构如下:
完整例子共分为三部分
l 服务器端在包jabari.ws中(手工编写)
l 客户端在包jabari.wsclient中(自动生成)
l 启动客户端入口在jabari.RunDemo类中(手工编写)。
一、 样例使用步骤
1. 新建Java项目
2. 将服务器端代码加入到项目中
Java6WS代码如下:
package jabari.ws;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.Endpoint;
@WebService
@SOAPBinding(style =SOAPBinding.Style.RPC)
publicclass Java6WS {
public StringdoSomething() {
return"这是基于Java6的WebService";
}
/**
* @param args
*/
publicstaticvoid main(String[] args) {
String url="http://localhost:8080/AxisWS/jabari.ws.Java6WS";
Endpoint.publish(url,new Java6WS());
}
}
3. 运行服务
1) 启动jabari.ws.Java6WS类
启动后控制台信息如下:
[如果出错:
则:建立%JAVA_HOME%/jre/lib/endorsed,放入相应的jar包,如下图:
]
注意:维持现状,不要关闭运行。
2) 查看WSDL
该步骤是向大家解释WSDL中XML信息。
打开浏览器,在地址栏里输入
http://localhost:8080/AxisWS/jabari.ws.Java6WS?wsdl
运行结果如下:
4. 调用服务
Java6提供生成WebService客户端代码工具。
注意,在生成前需要先启动服务端。如果已经在启动,就不需要重新启动。
1) 进入src目录
这里的src是指你当前项目的src目录。
2) 运行生成客户端命令wsimport
wsimport –p jabari.wsclient–keephttp://localhost:8080/AxisWS/jabari.ws.Java6WS?wsdl
3) 刷新Eclipse项目
为了将生成的代码引入项目,需要刷新一下项目。
客户端代码生成后一般不宜自行改动。一般做法是,如果服务发生了变化,可以用此方法重新生成一下。
4) 调用客户端
客户端实际上可以看做是WebService的代理类。所以使用WebService,从代码上就是使用客户端代理类。
jabari.RunDemo类代码如下:
package jabari;
import jabari.wsclient.Java6WS;
import jabari.wsclient.Java6WSService;
publicclass RunDemo {
/**
* @param args
*/
publicstaticvoid main(String[] args) {
Java6WS java6WS =new Java6WSService().getJava6WSPort();
StringreturnContent = java6WS.doSomething();
System.out.println(returnContent);
5) 启动测试
启动jabari.RunDemo类,注意,仍然要保持服务是启动状态。
6) OK,大功告成。
----------------------------------------------------------------------------------------------
如需要下载全部代码和Jar文件,可以复制下面地址
http://download.csdn.net/detail/lgj11/4745741
到浏览器去下载。