wsdl2py - KeyError

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

wsdl2py - KeyError

Beitragvon bja » Mittwoch 16. Januar 2008, 16:26

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=]
...
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'
[/code]
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

Beitragvon helduel » Donnerstag 17. Januar 2008, 17:24

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

Beitragvon bja » Donnerstag 17. Januar 2008, 17:56

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder