SOAP: Zwracanie tablicy xsd: dowolnych elementów w PHP

Muszę zwrócić odpowiedź na wywołanie SOAP zgodnie z WSDL. Wszystko działa poprawnie, z wyjątkiem zwracania xsd: dowolnego elementu. Część WSDL, z którą mam problem (dotyczy odpowiedzi oczekiwanej).

    xsd:complexType name="data"
        xsd:sequence
         xsd:any minOccurs="1" maxOccurs="unbounded"
        xsd:sequence
    xsd:complexType

Co próbowałem:

    foreach($data as $name=>$value) {
        $object->data->any[$name] = $value;
    }
    return $object;

Wywołanie SOAP zwraca odpowiedź w następujący sposób:

    ..response>
    -data>value1value2value3value4-/data>
    .../response>

Chociaż przed zwróceniem obiektu, można zauważyć, że obiekt jest tworzony tak, jak powinien być:

    $object->data->any[name1] = value1
    $object->data->any[name2] = value2

    etc...

Ale w odpowiedzi zwrotnej wszystkie wartości są po prostu umieszczane w jednym ciągu w jednym polu powrotu. Ten kod i zwrot działa poprawnie z dowolnym innym typem pola (na przykład xsd: string itp.).

Jak należy zwracać obiekt w przypadku xsd: dowolnego typu, aby uzyskać odpowiedź z wieloma polami zgodnie z nazwami i wartościami?

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion