【问题标题】:Proper tool for simple XML interfaces [closed]适用于简单 XML 接口的工具 [关闭]
【发布时间】:2011-09-09 21:35:18
【问题描述】:

我需要通过 http 上的 XML 接口向远程客户端公开 Web 应用程序的一些服务。 提供的服务数量有限(3-7),请求和响应都应保持简单,不需要任何特殊的数据类型或跨实体关系。

我的目标是保持代码简洁明了,并拥有健壮和高性能的应用程序。 我非常感谢您就用于该任务的正确 XML 绑定\处理工具提出建议。

UPD:我的错,没有提到restlet是实现所必需的,但是,就我而言,它对要使用的xml工具没有任何限制.

提前致谢。

【问题讨论】:

  • 您在寻找什么类型的信息?
  • 你是否受限于使用 restlet 或任何其他框架(Jersey、jax-rs)会做?

标签: java xml web-services rest


【解决方案1】:

JAX-RS 规范 (JSR-311) 提供了一种通过 HTTP 创建 RESTful 服务的标准方法。有几种 JAX-RS 实现:Jersey、RESTEasy、Wink。 JAXB (JSR-222) 是 JAX-RS 的标准绑定层(对象与 XML 之间),有多种实现:MOXy、Metro、JaxMe 等。

这些实现也预先与 Java EE 应用服务器捆绑在一起(即GlassFish 和 WebLogic 包含 Jersey)。

这是我在 GlassFish 中使用 Jersey 和 MOXy 的示例:

【讨论】:

    【解决方案2】:

    我们最近使用 Apache CXF 做了一些工作,发现它的 JAX-RS 支持很简单,让我们可以编写非常 DRY 友好的代码。

    有合理的灵活性,例如几个不同的数据绑定层可供选择。

    【讨论】:

      【解决方案3】:

      XStream 怎么样? http://x-stream.github.io/

      XStream 是一个简单的库,用于将对象序列化为 XML 并再次返回。

      【讨论】:

      • 我在一个项目中使用了它,并且对易于配置感到非常满意。
      【解决方案4】:

      【讨论】:

        【解决方案5】:

        我的建议是根本不要使用绑定工具。只需处理您通过网络发送的实际上是 XML 的事实。 Spring Web Services 参考手册描述了这背后的基本原理,称为“契约优先”,right here

        我了解您要编写的不是 SOAP 服务,而是 REST 服务。这与我反对使用绑定工具的观点无关,“合同优先”的原则仍然适用。

        祝你好运!

        【讨论】:

          猜你喜欢
          • 2011-05-19
          • 2010-11-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-11
          • 1970-01-01
          • 1970-01-01
          • 2013-01-24
          • 1970-01-01
          相关资源
          最近更新 更多