【问题标题】:What are main differences between Apache Axis and Apache Axis 2? [duplicate]Apache Axis 和 Apache Axis 2 之间的主要区别是什么? [复制]
【发布时间】:2017-12-08 07:36:58
【问题描述】:
Apache Axis 和 Apache Axis 2 仍然在 Apache 网站上可用,我无法弄清楚两者之间有什么区别?我们什么时候应该使用一个而不是另一个?
使用 Eclipse IDE 的 Web 服务向导开发 SOAP Web 服务默认会打开 Axis。如果我知道差异,我可以判断是否将运行时更改为 Axis 2。
【问题讨论】:
标签:
java
apache
web-services
axis2
axis
【解决方案1】:
Axis1.x 和 Axis2 是从不同的架构演变而来的。
速度 - Axis2 基于 StAX API,它比 Axis1.x 中使用的基于 SAX 事件的解析提供更快的速度。
稳定性 - Axis2 具有固定阶段以及用户定义的扩展阶段。这比 Axis1.x 提供了更高的稳定性和灵活性。
传输框架 - 传输(即,通过各种协议(如 HTTP、SMTP 等)的 SOAP 发送者和侦听器)已从 Axis2 引擎中抽象出来。拥有独立于传输的 Axis 引擎可以在传输选项中提供更大的灵活性。
WSDL 2.0 支持 - Axis2 支持 WSDL 1.1 和 2.0 版本,Axis2 的代码生成工具使用它们来创建 Web 服务框架和客户端存根。
面向组件的架构 - Axis2 组件由 .mar 和 .aar 档案中的处理程序和模块组成。这些易于重复使用的组件允许扩展功能,例如您的应用程序的模式处理或分发给合作伙伴。 Axis2 强调“模块”概念,而不是 Axis 1.x 的“处理程序”概念。模块包含按阶段规则排序的处理程序。这些附加到特定服务。