【发布时间】:2013-06-21 13:24:32
【问题描述】:
我正在尝试创建一个 WSO2 ESB 代理,它将生成一个 HTTP 多部分响应,基本上包含 2 个部分:XML 和附加的二进制文件(例如图像)。 顺序如下:
- 服务公开为 HTTP GET 请求
- 我们首先调用一个返回二进制文件的端点
- 我们创建一个描述二进制文件的 XML
- 我们将这 2 个元素混合在一起并提供多部分响应 (XML + 二进制文件)
经过几次尝试并在示例和论坛上环顾四周后,我找不到解决这个特殊情况的方法。 我已经成功地调用了端点。我可以在调试日志中看到响应在soap 内部消息中以二进制形式传输。 我怀疑我需要使用 MultipartFormDataFormatter。据我了解格式化程序的代码,它需要内部soap消息正文的所有子节点逐个创建一个部分。
所以我尝试将我的 XML 内容附加为二进制节点的兄弟节点(消息在日志中看起来与预期的一样),并强制 ContentType 使用:
<property name="messageType" value="multipart/form-data" scope="axis2"/>
<property name="ContentType" value="multipart/form-data" scope="axis2"/>
确保调用正确的格式化程序。
不幸的是,这似乎不起作用,响应确实在 multipart/form-data 中,但数据为零。
有什么帮助吗?
谢谢 亚尼克
【问题讨论】: