0

我的任务是将二进制数据(如图片、音乐、缩略图等)嵌入到 xml 元数据容器中,以便通过 REST 接口发布整个包。目前我们在项目中使用 Jersey 和 spring。我真的不想回到soap/wsdl(这似乎是每个基于ws的问题的默认答案)或任何容器格式(如zip)只是为了通过网络获取数据,所以我搜索了一段时间适当的解决方案。

我发现推荐使用XOP格式将内容嵌入到 xml 中,这是 SOAP 中使用的 MTOM 协议的一部分,但我没有看到直接通过 REST 提供 XML+XOP 响应的解决方案。

我的问题:有人可以给我一个提示如何使用 Jersey/spring 实现 XOP + REST 吗?我看到帖子暗示有人以前做过...

最好的问候,
蒂姆

4

2 回答 2

0

为什么要将二进制数据嵌入到 XML 中?有很多方法可以将二进制资源与其相应的元数据相关联,而无需尝试将其填充到单个表示中。

您正在击败 REST HTTP 的主要优势之一。根据需求处理多种不同媒体类型的能力是使用 REST over HTTP 比 SOAP 更有效的原因之一。

考虑像 Atom 那样检索包含指向二进制资源的链接的元数据的 XML 表示。如果您想先检索二进制文件,请考虑链接标头指向元数据。有很多比尝试将二进制数据填充到 XML 中更好的方法。

于 2010-12-14T15:05:42.373 回答
0

我不确定 Jersey,但 CXF 支持 XOP。也许你可以从那里得到灵感?

http://cxf.apache.org/docs/jax-rs-multiparts.html#JAX-RSMultiparts-XOPsupport

于 2011-03-14T14:52:13.560 回答