Java6上开发WebService

Java6上开发WebService

2010-01-23 16:19:00

<!--showHead end-->
标签: Java6 WebService
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
<!--正文 begin-->
近日朋友问起Java开发WebService的问题,于是为其写了一份简单说明,贴于博客,与各位朋友分享。
一、       开发环境
Java6 开始, JDK 中已经支持用 Java 开发 WebService 应用了,不必选用第三方包。因此建议授课软件环境如下:
软件及其版本
必需
安装顺序
JDK1.6u18
必需
1
Eclipse3.5 JavaEE
必需
2
 
如果软件下载和安装有问题,可另行沟通。
二、       样例说明
下面是一个 Java6 开发 Web Service 的入门例子,项目结构如下:
Java6上开发WebService_第1张图片
完整例子共分为三部分
l  服务器端在包 jerry.ws 中(手工编写)
l  客户端在包 jerry.wsclient 中(自动生成)
l  启动客户端入口在 jerry.RunDemo 类中(手工编写)。
 
一、       样例使用步骤
 
1.    新建 Java 项目
2.    将服务器端代码加入到项目中
Java6WS代码如下:
 
3.    运行服务
1)     启动 jerry.ws.Java6WS
启动后控制台信息如下:
Java6上开发WebService_第2张图片
注意:维持现状,不要关闭运行。
2)     查看 WSDL
该步骤是向学生解释 WSDL XML 信息。
打开浏览器,在地址栏里输入
运行结果如下:
Java6上开发WebService_第3张图片 
4.    调用服务
Java6 提供生成 WebService 客户端代码工具。
注意,在生成前需要先启动服务端。如果已经在启动,就不需要重新启动。
1)     进入 src 目录
这里的 src 是指你当前项目的 src 目录。
2)     运行生成客户端命令 wsimport
wsimport –p jerrry.wsclient –keep http://localhost:8080/AxisWS/jerry.ws.Java6WS?wsdl
Java6上开发WebService_第4张图片 
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);
  }

}
5)     启动测试
启动 jerry.RunDemo 类,注意,仍然要保持服务是启动状态。
Java6上开发WebService_第5张图片
6)     OK ,大功告成。

本文出自 “王杰瑞的技术博客” 博客,转载请与作者联系!

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());
  }
}

你可能感兴趣的:(webservice)