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

时间:2015-06-23 14:14:06

标签: java soap saaj

在此http://axis.apache.org/axis2/java/core/docs/mtom-guide.html#MTOM_Backward_Compatibility_with_SwA链接上,“content-id”在尖括号中指定。
--MIMEBoundary4A7AE55984E7438034
content-type:application / octet-stream
content-transfer-encoding:二进制
content-id:< 1.A91D6D2E3D7AC4D580@apache.org>

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

(这里没有尖括号) 我没有看到任何角度括号都是mandetory。 我正在使用SAAJ API,似乎他们没有在提供的内容ID上附加任何括号。
任何人都可以更专注于此吗?

1 个答案:

答案 0 :(得分:2)

这在RFC 2392中指定:

  

通过删除“cid:”前缀将“cid”URL转换为相应的Content-ID邮件头,将%编码字符转换为等效的US-ASCII字符,并使用尖括号括起剩余部分,“<”和“>”。

某些SwA / MTOM实现不符合该规范,也不添加括号。这通常不是问题,因为大多数SwA / MTOM实现都接受这种不符合要求的消息。

关于SAAJ,AttachmentPart#setContentId(String)方法的Javadoc指定了这个:

  

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

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