Einzelnen Beitrag anzeigen

af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#13

AW: Webservice Rückgabe komplexe Datenstruktur

  Alt 16. Jun 2011, 14:48
Hallo Frank,

Du bist mein Held. Hat super geklappt

Ich kann nun den Service ansprechen und bekomme eine Antwort zurück So sieht es nun aus.
Code:
var
  gi: messageout;
  rein: messagein;
  myArray : Array_Of_ItemType;
  myItemType : ItemType;

begin
  gi := messageout.Create;
  rein := messagein.Create;
  myItemType := ItemType.Create;

  setlength(myArray,1);
  rein.item:= myArray;

  rein.CustomerNo := 1;
  myItemType.Article := '10000100';
  myItemType.Quantity := 1;

  myArray[0] := myItemType;

  gi := (soe as web_getInventory).getInventory(rein);
...
Nun habe ich leider ein weiteres Problem.
Der Service muss folgendermassen angefragt werden.
Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <getInventoryIn>
         <CustomerNo>13635000</CustomerNo>
         <!--1 or more repetitions:-->
         <Item>
            <Article>101000500</Article>
            <Quantity>10</Quantity>
         </Item>
      </getInventoryIn>
   </soapenv:Body>
</soapenv:Envelope>
ich generiere aber (Habe ich dank deines Tipps aus der Datei des Ereignisses soeBeforeExecute)

Code:
  <?xml version="1.0" ?>
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <SOAP-ENV:Body>
- <MessageIn xmlns="http://www.soennecken.de/web.getInventory/">
  <CustomerNo xmlns="">1</CustomerNo>
- <Item xmlns="">
  <Article>10000100</Article>
  <Quantity>1</Quantity>
  </Item>
  </MessageIn>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
Ich muss also statt meines
<MessageIn lns="http://www.soennecken.de/web.getInventory/">
ein
<getInventoryIn>
übergeben

Wie soll ich denn nun das anstellen.

Vielen Vielen Dank schon mal für Eure Hilfe
Gruß
Andreas
  Mit Zitat antworten Zitat