Java 在SOAPMTOM中,指定的语法是什么;内容id“;在附件部分中?

Java 在SOAPMTOM中,指定的语法是什么;内容id“;在附件部分中?,java,soap,saaj,Java,Soap,Saaj,在这个链接上,“内容id”用尖括号指定 --MIMEBoundary4A7AE55984E7438034 内容类型:应用程序/八位字节流 内容传输编码:二进制 内容id: 在SOAP部分的XOP元素中,它被称为-

在这个链接上,“内容id”用尖括号指定
--MIMEBoundary4A7AE55984E7438034
内容类型:应用程序/八位字节流
内容传输编码:二进制
内容id:

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

(此处无角括号)
我没有看到角括号是强制性的。 我使用的是SAAJ API,它们似乎没有在提供的内容id上附加任何括号。

有人能更关注这一点吗?

RFC 2392中规定了这一点:

“cid”URL通过删除“cid:”前缀,将%编码字符转换为其等效的US-ASCII字符,并用尖括号对将其余部分括起来,从而转换为相应的内容ID消息头

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

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

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


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

谢谢。我的应用程序在内部使用SAAJAPI。那么,将cid值放在角括号中是SAAJ API角色吗?或者,从soap消息中添加或获取附件的应用程序应该显式执行此操作。或者换句话说,如果SAAJ API没有这样做,那么我就不应该太在意它了?