【发布时间】:2021-06-06 21:27:38
【问题描述】:
如何在 python 中发送 mtom 消息?我曾尝试使用 requests 库,但我从服务器收到错误消息。工作流是带有 SOAP 信封和二进制附件的 HTTP 标头。我正在使用一个结构如下的 MTOM 模板文件:
Content-Type: multipart/related;
boundary=boundary1234567890; type="application/xop+xml";
start="<0.urn:uuid:1FACEDB95C3509148F1570480012346@w3.org>"; start-info="text/xml"
Transfer-Encoding: chunked
SOAPAction: "soap-action"
--boundary1234567890
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.urn:uuid:1FACEDB95C3509148F1570480012346@w3.org>
set soap envelope here
--boundary1234567890
Content-Type: application/zip
Content-Transfer-Encoding: binary
Content-ID: <1.urn:uuid:1FACEDB95C3509148F1570480012347@w3.org>
set binary attachment here
然后我使用 python requests 库发送消息,如下所示:
import requests
data = open(template, 'rb').read()
response = requests.post(url, data=data, headers={})
但是,我从服务器收到一条错误消息,提示我的请求无法处理。我可能做错了什么,但我不知道如何发送 MTOM 消息。任何帮助将不胜感激。
【问题讨论】: