【发布时间】:2020-11-09 03:39:27
【问题描述】:
我是使用框架 zeep 的新手。我正在尝试发送 SOAP 请求。但我得到以下不正确的数据。我需要得到 xml 或 csv 格式的响应。
通过 wsdl,我可以使用 SoapUI 工具获取正确的输出。
from requests import Session
from zeep import Client
from zeep.transports import Transport
from requests.auth import AuthBase, HTTPBasicAuth
import datetime
wsdl = 'http://XX.XXX.XX.XX:ZZZZ/TL/IM?wsdl'
session = Session()
session.auth = SymantecAuth('user','password', "http://XX.XXX.XX.XXX")
session.verify = False
transport = Transport(session=session)
client = Client(wsdl=wsdl, transport=transport)
request_data = {"platforms": "test", "platid": {"ID": "QI4552"}}
results=client.create_message(client.service, 'RetrieveID', request_data)
print(results)
【问题讨论】:
-
向我们展示您收到的错误
-
我没有收到任何错误。我只是得到下面的。 schemas.xmlsoap.org/soap/envelope}0x7fabdc9ea888 处的信封>
-
它打印
results对象。试试print(results.content) -
我试过了。它给出了以下错误。 AttributeError: 'lxml.etree._Element' 对象没有属性 'contents'
-
这是一种 zeep 方法。 PFB。当您希望 zeep 构建并返回 XML 而不是将其发送到服务器时,您可以使用 Client.create_message() 调用。
标签: python python-3.x soap soapui zeep