Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security、WS-ReliableMessaging 等)的实现中。

  1. 采用名为 AXIOM(AXIs Object Model)的新核心XML(标准通用标记语言的子集)处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。
  2. 支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。
  3. 提供阻塞和非阻塞客户端 API。
  4. 支持内置的 Web服务寻址 (WS-Addressing) 。
  5. 灵活的数据绑定,可以选择直接使用 AXIOM,使用与原来的 Axis 相似的简单数据绑定方法,或使用XMLBeans、JiBX 或 JAXB 2.0 等专用数据绑定框架。
  6. 新的部署模型,支持热部署。
  7. 支持HTTP,SMTP,JMS,TCP传输协议。
  8. 支持REST (Representational State Transfer)。

wsdl2java参数详解

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

AXI4中的BRESP axis enable_代理类

其中常用的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 命令,指定了包名效果如下

AXI4中的BRESP axis enable_AXI4中的BRESP_02

AXI4中的BRESP axis enable_axis_03

这样已经基本满足我们客户端的调用需求了,代理类的具体参数设置等,将在后续更新