Axis2之wsdl2java工具
主要介绍 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工具的更多相关文章
- axis2 wsdl2java工具
wsdl2java工具使用方法描述: C:\Users\Administrator>wsdl2java -h Using AXIS2_HOME: E:\Apache_Projects\axis2 ...
- apache CXF wsdl2java工具的使用
cxf的wsdl2java命令和JDK的wsimport命令的区别和使用 JDK提供了一个wsimport.exe的命令,主要是用于将WebService生成客户端代码,然后好调用WebService ...
- 利用wsdl2java工具生成webservice的客户端代码
1.JDK环境 2.下载apache-cxf发布包:http://cxf.apache.org/download.html 目前最新版本为3.2.6, 解压后如下: 解压发布包,设置CXF_HOME ...
- 根据wsdl,apache cxf的wsdl2java工具生成客户端、服务端代码
根据wsdl,apache cxf的wsdl2java工具生成客户端.服务端代码 apache cxf的wsdl2java工具的简单使用: 使用步骤如下: 一.下载apache cxf的包,如apac ...
- axis2 利用小工具cat.aar
Axis2: Web Service是现在最适合实现SOAP的技术,而Axis2是实现Web Service的一种技术框架(架构). 昨天把把菜刀脚本打包发现<>在xml会被转义,导致菜刀 ...
- 使用axis2的wsdl2java把wsdl生成java文件
原文地址:http://blog.csdn.net/walkcode/article/details/7661674 有时在我们的开发中可能会有这种情况就是你要使用webservice但是对方没有给你 ...
- WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用
上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户 ...
- SAP和Java系统的Webservice实例
简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...
- Axis2 WebService客户端Axis2调用
第一RPC方式,不生成客户端代码 第二,document方式,不生成客户端代码 第三,用wsdl2java工具,生成客户端方式调用 package samples.quickstart.client; ...
随机推荐
- Python 字符串常用方法总结
明确:对字符串的操作方法都不会改变原来字符串的值 1,去掉空格和特殊符号 name.strip() 去掉空格和换行符 name.strip('xx') 去掉某个字符串 name.lstrip() ...
- javascript替代Array.prototype.some操作
Array.prototype.some在低版本浏览器好像不太兼容,下列是替代方法 一. for 循环 const initIds: any[] = [1,2,3]; const Ids: any[] ...
- Log4j与Logback
一.Log4j简介: 1.Log4j(log for java) 01.是apache的一个开源项目 02.是使用java语言编写的一个日志框架 03.用于记录程序中的日志信息 04.可以将日志信息输 ...
- 第四节:Linux下如何解决冲突
当出现冲突,我们push的时候,会出现: 然后pull,下拉到本地: 查看冲突: 然后进入冲突文件: 修改为: 保存退出. 提交:
- 【叶问】 MySQL常用的sql调优手段或工具有哪些
MySQL常用的sql调优手段或工具有哪些1.根据执行计划优化 通常使用desc或explain,另外可以添加format=json来输出更详细的json格式的执行计划,主要注意点如下: ...
- DedeCMS后台500错误一种原因是不支持PHP5.3、5.4及以上版本
我们在迁移网站的时候,可能会出现DedeCMS后台500错误,有可能是因为dedecms不支持PHP5.3.5.4及以上版本,这时我们要改动一些设置才能修复成功.跟着ytkah来修改配置文件吧.首先打 ...
- finecms如何批量替换文章中的关键词?
Finecms批量替换文章关键词要怎么操作呢,比如把关键词A换为B?Finecms是免费开源无商业限制的内容管理系统,个人在维护,但二次开发很灵活,我们可以通过开发插件或数据库sql语句来操作,下面就 ...
- 运维自动化ansible基础
云计算三种服务架构 IAAS: 不提供OS 只购买硬件(网络,存储,计算) PAAS: 提供硬件和OS和开发和运行环境 只需要开发应用软件 SAAS: 提供 硬件 os 软件 相当于直接购买软 ...
- 我的DIY作品
工欲善其事必先利其器~呵呵~我自己体会从无到有的乐趣~0~ 从Visio到CAD再到Autodesk,你妹的~只有自己才懂~哎~感谢兄弟朋友们的支持! Visio图: CAD图: Autodesk图:
- 小程序图片保存的相册授权失败问题,原接口wx.openSeting()已经废弃了的解决办法
项目中使用的是wepy框架开发的小程序,,, 使用场景是,用户点击下载图片的时候,要调起授权button(小程序拉起授权的功能都集成在了button组件,所以这里需要用到button组件里的一个ope ...