Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi falsches Feld aus WSDL? (https://www.delphipraxis.net/97811-falsches-feld-aus-wsdl.html)

TomDooley 16. Aug 2007 17:15


falsches Feld aus WSDL?
 
Hallo

Ich habe mir in Delphi 2006 aus einem WSDL-Dokument eine Schnittstelle generieren lassen:
XML-Code:
   
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
      elementFormDefault="qualified"
      targetNamespace="http://xml.apache.org/xml-soap">
      <complexType name="mapItem">
        <sequence>
          <element name="key" nillable="false"
            type="xsd:anyType" />
          <element name="value" nillable="false"
            type="xsd:anyType" />
        </sequence>
      </complexType>
      <complexType name="Map">
        <sequence>
          <element maxOccurs="unbounded" minOccurs="0"
            name="item" type="apachesoap:mapItem" />
        </sequence>
      </complexType>
    </schema>
Ich hätte jetzt eigentlich erwartet, dass das XML-Dokument wie folgt aufgebaut wird:
XML-Code:
<item xmlns="http://xml.apache.org/xml-soap">
  <key>Test</key>
  <value>1234567890</value>
</item>
Das umschliessende Tag heisst nun aber nicht "item" sondern "mapItem"? Kann mir das jemand erklären? Ich habe doch in der Zeile
XML-Code:
<element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
festgelegt dass der Name "item" ist, bzw. warum wird der Typ-Name verwendet?

Danke

TomDooley 24. Aug 2007 15:13

Re: falsches Feld aus WSDL?
 
Hallo :hi:

Kann mir hier niemand weiterhelfen, bzw. soll ich allenfalls zusätzliche Infos posten?

marabu 24. Aug 2007 20:07

Re: falsches Feld aus WSDL?
 
Hallo,

hast du vergessen das document root element zu deklarieren oder habe ich eine spontane Sehschwäche?

Im Schema fehlt mir die Zeile:

XML-Code:
 <element name="Map" type="Map" />
Grüße vom marabu

TomDooley 27. Aug 2007 07:57

Re: falsches Feld aus WSDL?
 
Beim Code handelt es sich nur um einen Auszug. Es ist noch ein zweites Schema vorhanden welches den Typ verwendet:

XML-Code:
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
      elementFormDefault="qualified"
      targetNamespace="http://www.abcd.com/xml/">
      <import namespace="http://xml.apache.org/xml-soap" />
      <element name="doTransRequest">
        <complexType>
          <sequence>
            <element name="transRequest"
              type="apachesoap:Map" />
          </sequence>
        </complexType>
      </element>
      <element name="doTransResponse">
        <complexType>
          <sequence>
            <element name="transResponse"
              type="apachesoap:Map" />
          </sequence>
        </complexType>
      </element>
    </schema>

TomDooley 5. Sep 2007 08:59

Re: falsches Feld aus WSDL?
 
Sorry aber hat jemand noch eine Idee? :duck:

TomDooley 19. Okt 2007 16:15

Re: falsches Feld aus WSDL?
 
Hallo

Bei meinem Problem scheint es sich um einen Bug in Delphi 2006 zu handeln. Ein Hotfix hat bei mir NICHT zum gewünschten Erfolg geführt.

Anschliessend habe ich meine WSDL-Datei mit Delphi 2007 importiert und siehe da, alles in Ordnung!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz