[Python-de] WSDL erzeugen?

Diez B. Roggisch deets at web.de
Fre Feb 10 13:19:07 CET 2006


On Friday 10 February 2006 13:07, Patrick Holz wrote:
> Hallo Liste,
>
> ich "darf" mich derzeit mit SOAP Web Services beschäftigen und benutze
> Python zur Erstellung einiger Praxisbeispiele. Auf der SOAP-Ebene gibt's
> da bislang kein Problem, aber nun würde ich gerne ein WSDL-Dokument zu
> einem der Services generieren. Leider finde ich aber im SOAPpy-Modul nur
> clientseitige WSDL-Unterstützung. Gibt es auch eine Möglichkeit, Python
> das WSDL-Dokument automatisch erzeugen zu lassen (und mir einige
> Handarbeit zu ersparen...)?

AFAIK nicht - das "Problem" liegt in der Dynamik von python: in JAVA zb kann 
man mittels Typinformation über eine gegebene Klasse traversieren, und dann 
eine WSDL daraus erzeugen, da man sowohl Parameter- als auch Ergebnistypen 
kennt. Sowas geht aber in python nicht...

Das einzige was ich mir vorstellen kann - und da weiss ich nicht, obs das so 
schon gibt - wäre mittels Dekoratoren die Signaturen entsprechender 
Funktionen zu annotieren, und das dann zur WSDL-generierung heranzuziehen. 

Alternativ: design dein interface in JAVA (ohne auf die eingebauten 
Collections zuzugreifen, bzw. du musst die typ-mappings dafür ans laufen 
kriegen, geben tut's die), und lass dir mittels java2wsdl (axis-toolkit) die 
WSDL erzeugen. 

Oder in den sauren Apfel beissen.... immer dran denken: XML ist 
menschenlesbar.. *hust*

Diez