Python 发送 mtom 消息
Posted
技术标签:
【中文标题】Python 发送 mtom 消息【英文标题】:Python send mtom message 【发布时间】: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 消息。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我认为唯一真正支持 MTOM 目前在 Java 和 C# 中。您可以使用我相信支持 MTOM 的 Axis2/C 和 在它周围放置一个 Python 包装器。
【讨论】:
以上是关于Python 发送 mtom 消息的主要内容,如果未能解决你的问题,请参考以下文章