Передача массива PHP в вызове SOAP - PullRequest
3 голосов
/ 27 августа 2009

Поэтому я пытаюсь включить следующий XML в мой запрос SOAP:

<Responses>
    <Response>
        <QuestionAnswerID>someint</QuestionAnswerID>
        <QuestionID>someint</QuestionID>
    </Response>
    <Response>
        <QuestionAnswerID>someint</QuestionAnswerID>
        <QuestionID>someint</QuestionID>
    </Response>
</Responses>

Я посмотрел это сообщение, которое смутно относится к той же теме, но выдает результат примерно так:

object(stdClass)#1 (1) {
    ["Responses"]=>
    object(stdClass)#2 (1) {
        ["Response"]=>
        array(2) {
            [0]=>
            object(stdClass)#3 (2) {
                ["QuestionAnswerID"]=>
                int(someint)
                ["QuestionID"]=>
                int(someint)
            }
            [1]=>
            object(stdClass)#4 (2) {
                ["QuestionAnswerID"]=>
                int(someint)
                ["SurveyQuestionID"]=>
                int(someint)
            }
        }
    }
}

Проблема в том, что массивы теперь имеют индексы, которые веб-сервису, который я вызываю, кажется, не нравятся. В любом случае я могу сгенерировать что-то вроде приведенного выше XML?

ТИА.

1 Ответ

10 голосов
/ 03 сентября 2009

Сложно проверить это без сервера SOAP с вашим WSDL. Вы должны иметь возможность создавать ассоциативные массивы примерно так:

$responses = array();
$responses[] = array("QuestionAnswerID" => someint, "QuestionID" => someint);
$responses[] = array("QuestionAnswerID" => someint, "QuestionID" => someint);

$response = array("Response" => $responses);

$soapData = array("Responses" => $response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...