|
|
|
|
Hello.
Je cherche à faire des appels à un webservice (SOAP/WSDL) à partir de Python.
Je cherche donc quel module je pourrais utiliser.
Mais je ne sais pas quel module utiliser:
- SOAPy semblait populaire mais il n'est plus maintenu (dernière mise à jour: avril 2001)
- SOAP.py est mort également.
- ZSI semble être la référence, mais en l'installant je m'aperçoit qu'il dépend de pyXML qui n'est plus maintenu et n'existe pas pour Python 2.5 ! (dernière mise à jour: novembre 2004).
- soaplib a l'air potable, mais il dépend de cElementTree... et je n'ai pas de VisualStudio 2003 sous la main pour compiler cElementTree ("Visual Studio 2003 was not found on this system." lors de l'installation), donc impossible d'installer cElementTree et soaplib.
Je me retrouve donc sans client SOAP.
Quel module SOAP utiliseriez vous ?
Peut-être 4Suite ?
(Même s'il semble que les développeurs de 4Suite se soient débarassés de toute la partie SOAP ?)
:-(((
Je suis dans la mouise.
(à moins de tout bricoler moi-même, y compris les proxy)
Bon... au final je me bricole mon propre client SOAP, en utilisant uniquement des librairies standard de Python (httplib et ElementTree).
|
Je reviens sur ce que j'ai dit:
# delayed stock quote demo (www.xmethods.com)
from elementsoap.ElementSOAP import *
class QuoteService(SoapService):
url = "http://66.28.98.121:9090/soap"
def getQuote(self, symbol):
action = "urn:xmethods-delayed-quotes#getQuote"
request = SoapRequest("{urn:xmethods-delayed-quotes}getQuote")
SoapElement(request, "symbol", "string", symbol)
response = self.call(action, request)
return float(response.findtext("Result"))
q = QuoteService()
print "MSFT", q.getQuote("MSFT")
print "LNUX", q.getQuote("LNUX")
|
J'ai résumé le tout là:
|
PROBLEME, il me semble, similaire... Voici un appel que j'ai fait avec soap UI:
|
Perso j'ai réussit à compiler SOAPpy sous windows pour python 2.5. Voici ce que j'ai fait :
|