SOAP: Gibt ein Array von xsd: any-Elementen in PHP zurück
Ich muss die SOAP-Anrufannahme gemäß WSDL zurückgeben. Alles funktioniert einwandfrei, bis auf die Rückgabe von xsd: any element. Teil der WSDL, mit der ich ein Problem habe (dies ist für die erwartete Antwort).
xsd:complexType name="data" xsd:sequence xsd:any minOccurs="1" maxOccurs="unbounded" xsd:sequence xsd:complexType
Was ich versucht habe:
foreach($data as $name=>$value) { $object->data->any[$name] = $value; } return $object;
Der SOAP-Aufruf gibt die folgende Antwort zurück:
..response> -data>value1value2value3value4-/data> .../response>
Obwohl vor der Rückgabe des Objekts ersichtlich ist, dass das Objekt so erstellt wurde, wie es hätte sein sollen:
$object->data->any[name1] = value1 $object->data->any[name2] = value2 etc...
Im Rückgabeantrag werden jedoch alle Werte nur in einer Zeichenfolge in ein Rückgabefeld eingefügt. Dieser Code und die Rückgabe funktionieren ordnungsgemäß mit jedem anderen Feldtyp (z. B. xsd: string usw.).
Wie soll das Objekt im Fall von xsd: any type zurückgegeben werden, um die Antwort mit mehreren Feldern entsprechend den Namen und Werten zu erhalten?
Vielen Dank