Comment Appeler l'API Soap avec Python

Alors que j'ai utilisé les Api dans le passé, c'est le premier SAVON que j'ai tenté d'utiliser. - Je copier, de coller, et a changé une partie de ce code à partir d'un SAVON tutoriel, mais je l'ai vu il fait 10 façons différentes dans 10 exemples différents, mais aucun n'est très clair dans l'explication du code. Peut-être le code suivant n'est pas la meilleure façon de le faire, mais c'est pourquoi je suis à la recherche d'un peu d'aide et une orientation claire pour aller en. Merci beaucoup.

import string, os, sys, httplib

server_addr = "auctions.godaddy.com"
service_action = "GdAuctionsBiddingWSAPI/GetAuctionList"

body = """
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.example.com/services/wsdl/2.0">
<soapenv:Header/>
<soapenv:Body>
<ns:serviceListRequest>
<ns:userInfo>
</ns:userInfo>
</ns:serviceListRequest>
</soapenv:Body>
</soapenv:Envelope>"""

request = httplib.HTTPConnection(server_addr)
request.putrequest("POST", service_action)
request.putheader("Accept", "application/soap+xml, application/dime, multipart/related, text/*")
request.putheader("Content-Type", "text/xml; charset=utf-8")
request.putheader("Cache-Control", "no-cache")
request.putheader("Pragma", "no-cache")
request.putheader("SOAPAction", "https://auctions.godaddy.com/gdAuctionsWSAPI/gdAuctionsBiddingWS.asmx?op=GetAuctionList" + server_addr + service_action)
request.putheader("Content-Length", "length")
request.putheader("apiKey", "xxxxxx")
request.putheader("pageNumber", "1")
request.putheader("rowsPerPage", "1")
request.putheader("beginsWithKeyword", "word")
request.endheaders()
request.send(body)
response = request.getresponse().read()

print response

OriginalL'auteur user1330225 | 2013-03-15