如何使用Python / SUDS将键/值对发送到Web服务?

时间:2011-11-04 14:09:46

标签: python soap suds

我正在尝试使用SUDS库通过Python脚本访问一个非常简单的SOAP Web服务。

这是WSDL主体:

sample wsdl

我用来提交这两个键/值对的python代码如下:

url = "http://somewhereontheweb.com/WS.asmx?wsdl"
client = suds.client.Client(url)

try:
    result = client.service.SendKDIRequest({"Key1": value1, "Key2": value2})    
    #display success
except Exception as e:  
    #display error

直接将它们输入SoapUI客户端表明该服务正常运行。所以我很确定我不会像Web服务期望的那样通过键/值对发送。

我非常感谢你们提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

首先,您可以使用以下日志记录方法:

client.last_received()
client.last_sent()

这些将输出xml suds正在发送。

如果您打印客户端

print client

你会看到是否有任何与服务相关的复杂类型,我的猜测是KeyValue将是你必须使用的类型:

kv = client.factory.create("ns0:KeyValue")

该信息应该可以帮助您。

奥利