我的任务是将二进制数据(如图片、音乐、缩略图等)嵌入到xml元数据容器中,以便通过REST接口发布整个包。目前,我们正在使用泽西和春天的项目。我真的不想回到soap/wsdl (这似乎是每个基于ws的问题的默认答案)或任何容器格式,比如zip,仅仅是为了通过网络获取数据,所以我在googled上搜索了一段时间,寻找一个更合适的解决方案。
我发现推荐XOP格式将内容嵌入到xml中,这是SOAP中使用的MTOM协议的一部分,但我没有看到通过REST直接提供XML+XOP响应的解决方案。
我的问题:有人能告诉我如何使用泽西/ spring实现XOP + REST吗?我见过一些帖子暗示有人曾经做过.
诚挚的问候,
时间
发布于 2010-12-14 15:05:42
为什么要将二进制数据嵌入到XML中?有很多方法可以将二进制资源与其相应的元数据关联起来,而无需尝试将其填充到单个表示中。
您正在破坏REST HTTP的主要优点之一。基于需求处理多种不同媒体类型的能力是使用REST over HTTP比SOAP更有效的原因之一。
考虑像Atom那样检索包含指向二进制资源的链接的元数据的XML表示。如果要首先检索二进制文件,请考虑链接标头以指向元数据。有许多比尝试将二进制数据插入XML更好的方法。
发布于 2011-03-14 14:52:13
我不确定泽西,但CXF支持XOP。也许你可以从中汲取灵感?
http://cxf.apache.org/docs/jax-rs-multiparts.html#JAX-RSMultiparts-XOPsupport
https://stackoverflow.com/questions/4440285
复制相似问题