Thread dynamischer SOAP Request mit SOAP::Lite (2 answers)
Opened by tecker at 2010-04-29 15:57

tecker
 2010-04-29 15:57
#136531 #136531
User since
2008-02-26
77 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

hoffe die Überschrift ist aussagekräftig genug. Ich benutze SOAP::Lite für SOAP Requests was soweit super funktioniert. Ich folgenden Request:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
$result = $soap->createNewOrder(
[...]
SOAP::Data->name('Item' => \SOAP::Data->value(
 SOAP::Data->name('subItem1' => SOAP::Data->type(string => $subItem1[0])),
 SOAP::Data->name('subItem2' => SOAP::Data->type(string => $subItem2[0])),
 SOAP::Data->name('subItem3' => SOAP::Data->type(string => $subItem3[0]))    
)
[...]
)


Der Request ist stark gekürzt. Ich habe ein Item als komplexen Datentyp und übergebe für jedes Subitem den Wert aus einem Array (z.B. $subItem1[0])

Nun habe ich mitunter nicht nur 1 sondern auch mehrere Item's und muss meinen Request mehr oder weniger dynamisch gestalten. Letztlich muss es in etwa so aussehen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
<Item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">
<subItem1 xsi:type="xsd:string">123</subItem1>
<subItem2 xsi:type="xsd:string">456</subItem2>
<subItem3 xsi:type="xsd:string">ABC</subItem3>
</Item>
<Item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">
<subItem1 xsi:type="xsd:string">890</subItem1>
<subItem2 xsi:type="xsd:string">567</subItem2>
<subItem3 xsi:type="xsd:string">XYZ</subItem3>
</Item>
<Item> ...


Ich weiß wieviele Item's ich habe aber nicht wie ich meinen SOAP-Request gestalten muss. Einfach ne for-Schleife rein geht ja schlecht. Jemand eine Idee wie man sowas umsetzen könnte?

Grüße

View full thread dynamischer SOAP Request mit SOAP::Lite