Aufruf eines Wegservices aus Python

Hallo Python-Forum
Wie kann ich im Python ein Webservice aufrufen? Mit wsdl2py ?
Als Neuling in Python bin ich auf der Suche nach Dokumentation zu dem Thema.
Weiss jemand, wie ich das am schnellsten erlernen kann?
Danke Philipp

On Monday 19 November 2007 13:13:56 Philipp Walderdorff wrote:
Hallo Python-Forum
Wie kann ich im Python ein Webservice aufrufen? Mit wsdl2py ?
Als Neuling in Python bin ich auf der Suche nach Dokumentation zu dem Thema.
Weiss jemand, wie ich das am schnellsten erlernen kann?
wsdl2py ist sicher ein weg, und es ist betoerend. Leider habe ich die Erfahrung gemacht, das es nicht wirklich gut funtktionierte, sondern fuer geringfuegig komplexere Services hoechstens eine Arbeitsgrundlage darstellt.
Allgemein muss man wohl sagen, das es mit SOAP + Python nicht gut bestellt ist. Was ich nur zu gut nachvollziehen kann - SOAP saugt. Und zwar maechtig.
Falls du also den Server unter Kontrolle haben solltest - es hoert sich leider nicht so an - dann nimm besser XMLRPC.
Diez

Philipp Walderdorff schrieb:
Wie kann ich im Python ein Webservice aufrufen? Mit wsdl2py ?
Als Neuling in Python bin ich auf der Suche nach Dokumentation zu dem Thema.
Was für einen Webservice? Über SOAP? Xml-RPC? REST/HTTP?
Für SOAP schau dir mal SOAPpy an.
Unter debian/Ubuntu gibt es dazu das Paket "python-soappy".
Wenn du die URL des Webservices und die Namen der aufzurufenden Methoden kennst, funktioniert eine SOAP-Aufruf so:
from SOAPpy import SOAPProxy proxy = SOAPProxy('http://blah.com/ExampleService') result = proxy.exampleMethod()
Wenn der Webservice eine WSDL-Datei bereitstellt, so:
from SOAPpy.WSDL import Proxy proxy = Proxy('http://blah.com/ExampleService?WSDL') result = proxy.exampleMethod()
Für xml-rpc gibt es ein Modul in der Standard Bibliothek:
http://www.python.org/doc/current/lib/module-xmlrpclib.html
Die Doku enthält auch ein Beispiel für einen Client:
http://www.python.org/doc/current/lib/xmlrpc-client-example.html
Weiss jemand, wie ich das am schnellsten erlernen kann?
Nach "SOAP tutorial" und "SOAP Python" googlen. Ausprobieren.
Hdh, Chris

Wie kann ich im Python ein Webservice aufrufen? Mit wsdl2py ?
Als Neuling in Python bin ich auf der Suche nach Dokumentation zu dem Thema.
Weiss jemand, wie ich das am schnellsten erlernen kann?
Ich kann mich dem gesagten anschließen: Die Python-Unterstützung für Webservices ist nicht so gut; probier' mal SOAPpy aus.
Alternativ kannst Du das XML auch selber zusammenstellen und die Antwort parsen. Das lässt sich leider nicht so schnell erlernen, allerdings ist die Erfolgsgarantie höher (leider ist SOAP nicht wahrhaft interoperabel, so dass eine SOAP-Bibliothek vielleicht gar nicht mit dem Server zu rande kommt - das handgeschriebene SOAP aber schon).
Ciao, Martin
participants (4)
-
"Martin v. Löwis"
-
Christopher Arndt
-
Diez B. Roggisch
-
Philipp Walderdorff