Thema: Delphi SOAP, WSDL und Arrays

Einzelnen Beitrag anzeigen

BensonIT

Registriert seit: 20. Aug 2021
3 Beiträge
 
#1

SOAP, WSDL und Arrays

  Alt 20. Aug 2021, 19:54
Hallo,

ich bin gerade dabei eine Delphi Anwendung gegen einen Web-Service zu programmieren.
XML ist mir nicht ganz unbekannt, ich würde mich jedoch nicht als XML Profi, vor allem bei den Schemas, bezeichnen.

Problembeschreibung: Entwicklungsumgebung ist Delphi 10.4.2.

Ich habe die WSDL Informationen vom Web-Service abgerufen, und kann diesen grundsätzlich auch bedienen.
An einer Stelle muss ich dem Web-Service eine Liste von GUIDs (in diesem Fall vom Typ String) übergeben.
Die Definition im WSDL sieht so aus:

guid = type string; { "http://schemas.microsoft.com/2003/10/Serialization/"[GblSmpl] }
ArrayOfguid = array of guid; { "http://schemas.microsoft.com/2003/10/Serialization/Arrays"[GblCplx] }

Ich definiere also eine Variable vom Typ ArrayOfguid und baue dort das Array in der Anwendung so auf:

sGuid := '00000000-0000-0000-0000-000000000001';
setlength(aContentIDs, 1);
aContentIDs[0] := sGuid;

Das Ergebnis was per SOAP an den Web-Service zurückgegeben wird sieht so aus:

<ContentIDs>
<guid>00000000-0000-0000-0000-000000000001</guid>
</ContentIDs>

Der Web-Service erwartet jedoch die Übergabe des Arrays in folgendem Format:

<ContentIDs>
<a:guid>00000000-0000-0000-0000-000000000001</a:guid>
</ContentIDs>

Wie bekomme ich es jetzt aber hin, dass das "a:" vor die "guid" gesetzt wird?

Vielen Dank und Grüße,
Falko
  Mit Zitat antworten Zitat