Axis2 支持使用 AXIOM、JAXB、ADB 和 XMLBeans 创建 Web 服务。我是 Web 服务开发领域的新手,想使用 Axis2 创建一个 Web 服务。Web 服务将非常简单,但我希望它会经常更改。我觉得 AXIOM 很好,因为它允许您在 service.xml 文件中指定您的服务需求,然后为您相应地创建它。所以我认为这将使我的生活更轻松,因为将来我的 Web 服务的任何更改我只需要更改 service.xml 文件和 .java 类中的一些代码用于 Web 服务。但其他方法也有自己的优势。考虑到我的要求,您能告诉我在创建 Web 服务时应该采用哪种方法吗?注意:我很想扩展对 REST 和 SOAP Web 服务的支持。
问问题
5129 次
1 回答
8
我将首先承认我领导 MOXy JAXB 实现的偏见,这使我进入了我的第一点。
1.有多种JAXB实现
由于JAXB 是一种标准( JSR-222 ),因此有多种实现: Metro(参考实现)、EclipseLink MOXy、Apache JaxMe等。如果您在一个实现中遇到了显示停止错误,您可以尝试另一个。
2. JAXB 是 JAX-RS(RESTful Web 服务)和 JAX-WS(SOAP Web 服务)的默认绑定层
JAXB 是与 JAX-WS 一起设计的,而 JAX-RS 是为了利用 JAXB 而编写的。所有 Java EE 5 和 Java EE 6 应用程序服务器都支持 JAXB。
3. JAXB 支持泛型和枚举等 Java 5 特性
这对您来说可能不是什么大问题,但 JAXB 支持泛型和枚举,而 XML Beans 不支持。
4.个别实现有非常有用的扩展
例如 MOXy 具有基于 XPath 的映射、XML 元数据文件和映射 JPA 实体的扩展:
于 2011-02-17T00:12:28.580 回答