Я работаю с PHP SoapServer, работающим в режиме не-wsdl. У меня есть сервер, настроенный для обработки данных и возврата ответа с помощью setClass (). Я попытался вернуть ассоциативный массив, но это преобразуется в карты SOAP с элементами, ключами и значениями. Я хотел бы ответить следующим:
<soap:Body>
<AsyncResponseOperationResponse xmlns="http://www.sample.com/">
<AsyncResponseOperationResult>
<Succeeded>true</Succeeded>
<Comments>
The operation was a success
</Comments>
</AsyncResponseOperationResult>
</AsyncResponseOperationResponse>
</soap:Body>
Переменные будут указывать, является ли успех истинным или ложным, и комментарии.
Я пытался прочитать об опции 'typemap', но она не очень хорошо документирована, и то, что я нашел до сих пор, только смутило меня. Ресурсы, которые я нашел до сих пор, это модульные тесты php, такие как этот и этот , а также этот вопрос о переполнении стека
Может ли кто-нибудь дать мне пример, который делает то, что я пытаюсь сделать? Я думаю, что было бы хорошо переключиться в режим wsdl с автообнаружением (с использованием Zeap's Soap Server), если это подходит в качестве решения.
Редактировать: Пока я не выясню, как это сделать правильно, я просто выписываю весь XML вручную.
header("Content-type: text/xml");
echo "<?xml version="1.0" encoding="utf-8"?><soap:Envelope ...