Как отправить пары ключ / значение в веб-сервис с Python / SUDS? - PullRequest
3 голосов
/ 04 ноября 2011

Я пытаюсь получить доступ к действительно простому веб-сервису SOAP через скрипт Python, используя библиотеку SUDS.

Вот тело 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 предполагает, что служба работает правильно. Поэтому я почти уверен, что не отправляю через пары ключ / значение, поскольку их ожидает веб-служба.

Я бы очень признателен за любую помощь, которую вы, ребята, можете оказать.

1 Ответ

2 голосов
/ 04 ноября 2011

во-первых, вы можете использовать методы регистрации:

client.last_received()
client.last_sent()

они будут выводить отправляемую xml suds.

также если вы печатаете клиента

print client

вы увидите, есть ли какие-либо сложные типы, связанные с сервисом, я предполагаю, что KeyValue будет типом, который вы должны будете создать, используя:

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

эта информация должна помочь вам в вашем пути.

Олли

...