在此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上附加任何括号。
任何人都可以更专注于此吗?
答案 0 :(得分:2)
这在RFC 2392中指定:
通过删除“cid:”前缀将“cid”URL转换为相应的Content-ID邮件头,将%编码字符转换为等效的US-ASCII字符,并使用尖括号括起剩余部分,“<”和“>”。
某些SwA / MTOM实现不符合该规范,也不添加括号。这通常不是问题,因为大多数SwA / MTOM实现都接受这种不符合要求的消息。
关于SAAJ,AttachmentPart#setContentId(String)
方法的Javadoc指定了这个:
使用给定值设置名称为“Content-Id”的MIME标头。
这意味着您应该传递一个包含括号的值。