Python Zeep为肥皂请求抛出未知错误

问题描述

我是使用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)

解决方法

自创建消息以来,print(results)仅显示创建的消息对象。

这应该可以在屏幕上显示消息:

from lxml import etree

# Your code follows here

results=client.create_message(client.service,'RetrieveID',request_data)
# this will print the message to be sent to Soap service.
print(etree.tostring(results,pretty_print=True))

如果要查看RetrieveID操作的响应。然后执行此操作(假设此方法已绑定到第一个可用绑定):

response = client.service.RetrieveID(**request_data)
print(response)

让我们知道它是否不起作用。