码迷,mamicode.com
首页 > 编程语言 > 详细

Axis2之wsdl2java工具

时间:2016-04-16 23:06:25      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

本章主要介绍axis2的wsdl2java工具的使用。

Axis2提供了一个wsdl2java命令可以根据WSDL文件自动产生调用WebService的代码。wsdl2java命令可以在<Axis2安装目录>下的bin目录中找到。在使用wsdl2java命令之前需要设置AXIS2_HOME环境变量,该变量值是<Axis2安装目录>。以下以Windows平台上使用为例。

进入Windows控制台,执行如下命令来生成WebService的客户端代码:

%AXIS2_HOME%\bin\wsdl2java -uri http://127.0.0.1:8080/awyb/services/mySoapService?wsdl -p client -s -o stub

其中-uri参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径。-p参数指定了生成的Java类的包名,-o参数指定了生成的一系列文件保存的根目录。在执行完上面的命令后,我们就会发现在当前目录下多了个stub目录,在./stub/src/client目录可以找到对应的客户端调用文件,这些文件复杂调用WebService,我们可以在程序中直接使用这些文件。例如:

package client;

import client.MySoapServiceStub.SayHello;
import client.MySoapServiceStub.SayHelloResponse;


public class StubClient {
    public static void main(String[] args) throws Exception {
        MySoapServiceStub stub = new MySoapServiceStub();
        SayHello sayHello = new SayHello();
        SayHelloResponse resp = stub.sayHello(sayHello);
        String ret = resp.get_return();
        System.out.println(ret);
    }
}

以上程序自动生成的客户端调用文件MySoapServiceStub.java,我们通过调用该文件实现客户端访问,大大简化了调用WebService的步骤,并使代码更加简洁。但要注意的是,wsdl2java命令生成的Stub类将WebService方法的参数都封装在了相应的类中,类名为方法名,例如,sayHello方法的参数都封装在了SayHello类中,要想调用sayHello方法,必须先创建SayHello类的对象实例。

wsdl2java参数详解

命令行格式为:wsdl2java [options] -uri <url or path> : A url or path to a WSDL

其中常用的options具体如下:

-o <path> 指定生成代码的输出路径
-a 生成异步模式的代码
-s 生成同步模式的代码
-p <pkg> 指定代码的package名称
-l <languange> 使用的语言(Java/C) 默认是java
-t 为代码生成测试用例
-ss 生成服务端代码默认不生成
-sd 生成服务描述文件 services.xml,仅与-ss一同使用
-d <databinding> 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g 生成服务端和客户端的代码
-pn <port_name> 当WSDL中有多个port时,指定其中一个port
-sn <serv_name> 选择WSDL中的一个service
-u 展开data-binding的类
-r <path> 为代码生成指定一个repository
-ssi 为服务端实现代码生成接口类
-S 为生成的源码指定存储路径
-R 为生成的resources指定存储路径
--noBuildXML 输出中不生成build.xml文件
--noWSDL 在resources目录中不生成WSDL文件
--noMessageReceiver 不生成MessageReceiver类

Axis2之wsdl2java工具

标签:

原文地址:http://www.cnblogs.com/alfredinchange/p/5399170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!