在 SOAP MTOM 中,在"附件部件"部分中指定"content-id"的语法是什么?



关于这个http://axis.apache.org/axis2/java/core/docs/mtom-guide.html#MTOM_Backward_Compatibility_with_SwA链接中,"content-id"在尖括号中指定
--MIME基础4A7AE5984E7438034
内容类型:应用程序/八位字节流
内容传输编码:二进制
内容id:<1.A91D6D2E3D7AC4D580@apache.org>

在SOAP部分的XOP元素中,它被称为-
<xop:包括href="cid:1.A91D6D2E3D7AC4D580@apache.org"xmlns:xop="http://www.w3.org/2004/08/xop/include">

(此处没有角括号)
我看不出任何地方的尖括号是命令性的。我使用的是SAAJ API,它们似乎没有在提供的内容id上加上任何括号。
有人能把更多的注意力放在这件事上吗?

这在RFC 2392:中指定

通过删除"cid:"前缀,将%编码字符转换为等效的US-ASCII字符,并用尖括号对"<"one_answers">"包围其余部分,将"cid"URL转换为相应的内容ID消息标头。

一些SwA/MTOM实现不符合该规范,并且没有添加括号。这通常不是问题,因为大多数SwA/MTOM实现都接受这种不一致的消息。

关于SAAJ,AttachmentPart#setContentId(String)方法的Javadoc指定了以下内容:

使用给定值设置名称为"Content-Id"的MIME标头。

这意味着您应该向它传递一个包含方括号的值。

最新更新