我尝试使用SoapUI(5.3.0)连接到SOAP Web服务。此外,还应发送 mtom 附件。但是发送附件似乎有些问题-我总是收到以下错误消息作为响应:
在 [名称附件文件.txt 中找不到 ID
someID
附件]
这是我所做的:
- 已启用请求属性"启用 MTOM">
- 添加了附件(在"收件人"部分中)
- 添加了一些 cid:12345
- 在附件的"部件"列中选择了该 cid
这是请求的一部分:
<ws:stream mimeType="text/plain" uuid="0815" filename="Example.txt" ...>
<ws:documentData>cid:1234</ws:documentData>
</ws:stream>
正如我在 SoapUI 的 Raw 视图中看到的那样,文档与请求一起发送......任何想法是什么导致了问题?
我发现了问题。 即使我用附件"连接"了cid,SoapUI也没有在mtmomContent-ID
部分中使用该cid。因此,最初使用了cid:1234
(并在附件的"部分"列中选择)。但是在查看请求时,SoapUI 使用的是文件名:
Content-ID: <Example.txt>
现在更改任一
- 手动
ContentID
1234(在附件部分)或 - 使用文件名作为
cid:Example.txt
,然后它正在工作。
如果Content-ID
是可选的或预填充 SoapUI 中的现有 cid,那将很有帮助(类似于 Part)。
我分享了这个,因为它可以帮助任何因其他原因遇到相同错误的人:
当服务器无法添加或创建附件时,也会显示相同的行为。在我的情况下,应包含附件信息的输入流存在 I/O 问题,无法正确使用。
通过不使用源的输入流(这是另一个服务的反应)解决了这个问题。
在服务器端调试肥皂部分肯定对此很有帮助。