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