Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   WSDL & Complextyp Array (https://www.delphipraxis.net/187289-wsdl-complextyp-array.html)

GS1200 17. Nov 2015 04:49

WSDL & Complextyp Array
 
Hallo zusammen,

ich habe unter Delphi XE2 einen soap WEB-Server erstellt. Dieser hat die u.a. Funktion. Wenn ich eine WSDL erzeuge und diese in einem Testprogramm (Delphi) importiere um die Services zu nutzen, läuft es einwandfrei. Nun habe ich die WSDL weiter gegeben um diese in einem JAVA Programm zu nutzen, jedoch kann der Entwickler diese nicht importieren, da de erzeugte Typ nicht bekannt sei.


Code des WEB-Services, aus dem die WSDL erzeugt wird:
Delphi-Quellcode:
 
TUserRem = class(TRemotable)
  private

  FKennung:UnicodeString;
  FPasswort:UnicodeString;

  published

    property Kennung:UnicodeString read FKennung write FKennung;
    property Passwort:UnicodeString read FPasswort write FPasswort;

  end;

  TUserRemArray = array of TUserRem;

Der WSDL Code sieht dann so aus:
Code:
      <complexType name="TUserRemArray">
        <complexContent>
          <restriction base="soapenc:Array">
            <sequence/>
            <attribute ref="soapenc:arrayType" n1:arrayType="ns1:TUserRem[]" xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
          </restriction>
        </complexContent>
      </complexType>
      <complexType name="TUserRem">
        <sequence>
          <element name="Kennung" type="xs:string"/>
          <element name="Passwort" type="xs:string"/>
        </sequence>
      </complexType>
Fehlermeldung beim Import der WSDL unter JAVA besagt, dass der Typ array nicht bekannt sei. (oder so ähnlich) mit dem Vorschlag es so zu lösen, doch wie muss ich dann statt Array was verwenden?

Meldung beim Import und Vorschlag:
Code:
Here we are facing issue with “<restriction base="soapenc:Array">”  as for the schema soapenc Array type is not supported anymore it has to be replaced with
        <xsd:sequence>
          <xsd:element name="x" type="xsd:string"
           minOccurs="0" maxOccurs="unbounded"/>
       </xsd:sequence>
Danke für Eure Unterstützung,

viele Grüße

Axel

Sherlock 17. Nov 2015 10:56

AW: WSDL & Complextyp Array
 
Kann SoapUI mit der WSDL etwas anfangen? Wenn ja, muss der Java-Entwickler halt mal kreativ werden (freut mich, daß es auch mal andersrum fällig ist). Ansonsten ist, wie immer Delphi Schuld. Ich habe mit SOAP unter XE2 eigentlich auch nur schlechte Erfahrenungen gemacht, das war aber eher als Client und im Zusammenhang mit einer gesicherten Verbindung.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 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