【问题标题】:How do I send key/value pairs to a web service with Python/SUDS?如何使用 Python/SUDS 将键/值对发送到 Web 服务?
【发布时间】:2026-01-29 18:00:01
【问题描述】:

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

这是 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 服务所期望的那样通过键/值对发送。

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

【问题讨论】:

    标签: python soap suds


    【解决方案1】:

    首先你可以使用以下的日志记录方法:

    client.last_received()
    client.last_sent()
    

    这些将输出正在发送的 xml 泡沫。

    如果你打印客户端

    print client
    

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

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

    这些信息应该可以帮助您。

    奥利

    【讨论】:

      最近更新 更多