Axis2简介与wsdl2java工具的使用
Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。
-
采用名为 AXIOM(AXIs Object Model)的新核心XML(标准通用标记语言的子集)处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。
-
支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。
-
提供阻塞和非阻塞客户端 API。
-
支持内置的 Web服务寻址 (WS-Addressing) 。
-
灵活的数据绑定,可以选择直接使用 AXIOM,使用与原来的 Axis 相似的简单数据绑定方法,或使用XMLBeans、JiBX 或 JAXB 2.0 等专用数据绑定框架。
-
新的部署模型,支持热部署。
-
支持HTTP,SMTP,JMS,TCP传输协议。
-
支持REST (Representational State Transfer)。
wsdl2java参数详解
命令行格式为:wsdl2java [options] -uri <url or path>
其中常用的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类 |
我这里只是用到了-p 命令,指定了包名效果如下
这样已经基本满足我们客户端的调用需求了,代理类的具体参数设置等,将在后续更新