wsdl2py - KeyError

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
bja
User
Beiträge: 4
Registriert: Mittwoch 16. Januar 2008, 16:11

Hallo,
ich habe mir eine WSDL Datei erstellt und möchte nun einen Dienstanbieter und Nutzer schreiben. Dazu wollte ich per wsdl2py -f meinewsdl.wsdl das Gerüst erstellen. Dies bricht aber leider mit der Fehlermeldung

Code: Alles auswählen

...
    c.setUp(bop)
  File "/usr/lib/python2.5/site-packages/ZSI/generate/containers.py", line 515, in setUp
    self.outputName = op.getOutputMessage().name
  File "/usr/lib/python2.5/site-packages/ZSI/wstools/WSDLTools.py", line 675, in getOutputMessage
    return wsdl.messages[self.output.message]
  File "/usr/lib/python2.5/site-packages/ZSI/wstools/Utility.py", line 1169, in __getitem__
    return self.data[nsuri][name]
KeyError: u'GetSquareResponse'
ab.

GetSquareResponse ist ein Element. Es gibt insgesamt 3 welche wie folgt definiert sind:

Code: Alles auswählen

	<xsd:element name="GetSquare">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="x" type="xsd:float" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="GetSquareResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="y" type="xsd:float" minOccurs="1" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
        <xsd:element name="GetSquareFault">
	  	<xsd:complexType>
	    		<xsd:all>
	      			<xsd:element name="errorMessage" type="string"/>
	    		</xsd:all>
  	  	</xsd:complexType>
        </xsd:element>
Nun habe ich gesehen das oft das Element auch anders beschrieben wird, in dem das umschließende Tag <xsd:element> entfernt wird und das Attribut name="" dem Tag <xsd:complexType> hinzugefügt wird. Wenn ich diese Änderungen bei allen drei Elementen mache ist die Fehlermeldung aber die gleiche.

Nachtrag: Entferne ich das Element GetSquareResponse inkl. der Message und den Eintragen unter Operation dann läuft wsdl2py ohne Fehler durch. Was ich nicht verstehe, warum er nicht bei den anderen Elementen sich beschwert.

Danke schonmal für die Hilfe.

MfG
BjA
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

Moin,

könntest du noch die restlichen relevanten Teile Deiner WSDL hier reinstellen?

Gruß,
Manuel
bja
User
Beiträge: 4
Registriert: Mittwoch 16. Januar 2008, 16:11

Hallo,
habe es mittlerweile selber herausgefunden. Leider hatte ich wirklich zu wenig gepostet. Es war ein simpler Schreibfehler. Manchmal sieht man den Wald vor lauter Bäumen einfach nicht.

Trotzdem Danke.

MfG
BjA
Antworten