JAX-WS(二)之使用wsimport创建WebService客户端
客户端开发的通常过程是从已有的WSDL出发,创建辅助类JAXB对象和Service代理类,然后基于这些类开发自己的客户端应用。
开发步骤:
- 创建eclipse项目;
- 运行wsimport命令生成客户端代码;
- 通过代理调用服务;
创建Ecplise项目
使用Eclipse创建客户端项目JAX-WS-Client,目录结构如下:
运行wsimport工具
使用上篇博文创建的Web Service地址,命令行进入JAX-WS-Client项目目录,运行:
wsimport -d ./bin -s ./src http://localhost:8808/HelloService?wsdl
此时的目录结构如下:
通过代理调用服务
package net.oseye; public class Main { /** * @param args */ public static void main(String[] args) { HelloService helloService=new HelloService(); String helloStr=helloService.getHelloPort().sayHello("oseye"); System.out.println(helloStr); } }
wsimport简介
wsimport也是在JDK的bin目录下的一个exe文件(Windows版),主要功能是根据服务端发布的wsdl文件生成客户端存根及框架,负责 与Web Service 服务器通信,并在将其封装成实例,客户端可以直接使用,就像使用本地实例一样。对Java而言,wsimport帮助程序员生存调用web service所需要的客户端类文件.java和.class。要提醒指出的是,wsimport可以用于非Java的服务器端,如:服务器端也许是C# 编写的web service,通过wsimport则生成Java的客户端实现。
命令参数说明:
- -d 生成客户端执行类的class文件的存放目录
- -s 生成客户端执行类的源文件的存放目录
- -p 定义生成类的包名
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。