Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Soap XML请求转换为Zeep的字典_Python_Zeep - Fatal编程技术网

Python 将Soap XML请求转换为Zeep的字典

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

我无法将此XML转换为相关的python字典soap请求以传递到Zeep.Client.service。下面的XML来自:


您可以使用以下方法检查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 )