Python 将Soap XML请求转换为Zeep的字典
我无法将此XML转换为相关的python字典soap请求以传递到Zeep.Client.service。下面的XML来自:Python 将Soap XML请求转换为Zeep的字典,python,zeep,Python,Zeep,我无法将此XML转换为相关的python字典soap请求以传递到Zeep.Client.service。下面的XML来自: 您可以使用以下方法检查wsdl方法: python -mzeep https://cgmix.uscg.mil/xml/PSIXData.asmx?WSDL 从上面可以看出,getVesselSummaryXMLString方法只接受字符串参数: getVesselSummaryXMLString(VesselID: xsd:string, VesselName: xs
您可以使用以下方法检查wsdl方法:
python -mzeep https://cgmix.uscg.mil/xml/PSIXData.asmx?WSDL
从上面可以看出,getVesselSummaryXMLString
方法只接受字符串参数:
getVesselSummaryXMLString(VesselID: xsd:string, VesselName: xsd:string, CallSign: xsd:string, VIN: xsd:string, HIN: xsd:string, Flag: xsd:string, Service: xsd:string, BuildYear: xsd:string) -> getVesselSummaryXMLStringResult: xsd:string
因此,您可以将其简单地称为传递字符串参数,就像函数调用一样:
r = client.service.getVesselSummaryXMLString('str1', 'str2', 'str3', 'str4', 'str5', 'str6', 'str7', 'str8')
如果您想发送词典,那么您需要按照以下步骤准备词典:
request_data = {'VesselID': 'str1', 'VesselName': 'string', 'CallSign': 'string', 'VIN': 'string', 'HIN': 'string', 'Flag': 'string', 'Service': 'string', 'BuildYear': 'str8'}
r = client.service.getVesselSummaryXMLString(**request_data )
希望这能回答问题。不清楚你到底想要实现什么。是否要将此请求发布到soap服务器?或者您想将此作为响应处理?您没有访问wsdl文件的权限?我编辑了我的原始帖子,以便更清楚地了解我希望实现的目标。对不起,谢谢。现在你的要求很清楚了。我张贴了我的答案。如果你对答案感到满意,那么请将其标记为已接受。工作得很有魅力!非常感谢。
r = client.service.getVesselSummaryXMLString('str1', 'str2', 'str3', 'str4', 'str5', 'str6', 'str7', 'str8')
request_data = {'VesselID': 'str1', 'VesselName': 'string', 'CallSign': 'string', 'VIN': 'string', 'HIN': 'string', 'Flag': 'string', 'Service': 'string', 'BuildYear': 'str8'}
r = client.service.getVesselSummaryXMLString(**request_data )