Java6上开发WebService 
 
标签:Java6 WebService 休闲 职场 
 
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 
 
 近日朋友问起Java开发WebService的问题,于是为其写了一份简单说明,贴于博客,与各位朋友分享。
  一、       开发环境
  从Java6开始,JDK中已经支持用Java开发WebService应用了,不必选用第三方包。因此建议授课软件环境如下:
 |  软件及其版本 |  必需 |  安装顺序 | 
|  JDK1.6u18 |  必需 |  1 | 
|  Eclipse3.5 JavaEE版 |  必需 |  2 | 
 如果软件下载和安装有问题,可另行沟通。
  二、       样例说明
  下面是一个Java6开发Web Service的入门例子,项目结构如下:
 
 完整例子共分为三部分
  l  服务器端在包jerry.ws中(手工编写)
  l  客户端在包jerry.wsclient中(自动生成)
  l  启动客户端入口在jerry.RunDemo类中(手工编写)。
  一、       样例使用步骤
  1.    新建Java项目
  2.    将服务器端代码加入到项目中
  Java6WS代码如下:
  package jerry.ws; 
 
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
 
@WebService
public class Java6WS {
public String doSomething() {
return "这是基于Java6的WebService";
}
public static void main(String[] args) {
String url="http://localhost:8080/AxisWS/jerry.ws.Java6WS";
Endpoint.publish(url,new Java6WS());
}
}
 
 import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Java6WS {
public String doSomething() {
return "这是基于Java6的WebService";
}
public static void main(String[] args) {
String url="http://localhost:8080/AxisWS/jerry.ws.Java6WS";
Endpoint.publish(url,new Java6WS());
}
}
 3.    运行服务
  1)     启动jerry.ws.Java6WS类
  启动后控制台信息如下:
 
 注意:维持现状,不要关闭运行。
  2)     查看WSDL
  该步骤是向学生解释WSDL中XML信息。
  打开浏览器,在地址栏里输入
  http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl
  运行结果如下:
  
  4.    调用服务
  Java6提供生成WebService客户端代码工具。
  注意,在生成前需要先启动服务端。如果已经在启动,就不需要重新启动。
  1)     进入src目录
  这里的src是指你当前项目的src目录。
  2)     运行生成客户端命令wsimport
  wsimport –p jerrry.wsclient –keep http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl
  
  3)     刷新Eclipse项目
  为了将生成的代码引入项目,需要刷新一下项目。
        客户端代码生成后一般不宜自行改动。一般做法是,如果服务发生了变化,可以用此方法重新生成一下。
  4)     调用客户端
  客户端实际上可以看做是WebService的代理类。所以使用WebService,从代码上就是使用客户端代理类。
  jerry.RunDemo类代码如下:
   package jerry; 
 
import jerry.wsclient.Java6WS;
import jerry.wsclient.Java6WSService;
 
public class RunDemo {
 
/**
* @param args
*/
public static void main(String[] args) {
Java6WS java6WS = new Java6WSService().getJava6WSPort();
String returnContent = java6WS.doSomething();
System.out.println(returnContent);
}
 
}
 
 import jerry.wsclient.Java6WS;
import jerry.wsclient.Java6WSService;
public class RunDemo {
/**
* @param args
*/
public static void main(String[] args) {
Java6WS java6WS = new Java6WSService().getJava6WSPort();
String returnContent = java6WS.doSomething();
System.out.println(returnContent);
}
}
 5)     启动测试
  启动jerry.RunDemo类,注意,仍然要保持服务是启动状态。
 
 6)     OK,大功告成。
 本文出自 “王杰瑞的技术博客” 博客,转载请与作者联系!