Я использую SoapClient для работы с веб-службой, которая приводит к последовательности anyTypes.Я попытался использовать simplexml_load_string в ответе (возможно, неправильно), и это не помогло, в результате чего simplexml_load_string не был установлен.
Кроме этого, мой PHP-код, который вызывает веб-сервис: (здесь нет проблем)
$client->InvokeWorkflow( $params );
Затем я улавливаю ответ как $ response:
$ response = $ client -> __ getLastResponse ();
Когда я получаю var_dump $ response, я получаю:
string(1404) "XmlOut<Organisations xmlns="http://www.XXXXXXXX.net/Schemas/Provision/Organisations.xsd"><Organisation xmlns="http://www.XXXXXXXX.net/Schemas/Provision/Organisations.xsd"><DomainName>XXXXXXXXX.co.za</DomainName><Action>Suspend</Action><ActionType>Organisation</ActionType><InternalReference>1234</InternalReference><StatusInfo><Status>Error</Status><Error><Field> (Validate 1.0.0.0): DomainName</Field><ErrorMessage>The domain is already suspended</ErrorMessage></Error></StatusInfo></Organisation></Organisations>statustruestatusMessagetaskStartIda0c5ce73-1915-4695-a50c-f05b431f8a14"
Вы заметите XmlOut, за которым следует строка XML, за которой следует текст, начинающийся с statustruestatusMessage.
Этот ответ на самом деле представляет собой набор anyTypes.Первый - «XmlOut», второй - вся строка, выглядящая в формате XML, за которой следуют слова «status», «true», «statusMessage», «», «taskStartId», «0c5ce73-1915-4695-a50c-f05b431f8a14"
Я пытаюсь получить значения для:
- ErrorMessage (что означает "Домен уже приостановлен")
- Status (что верно в приведенном выше примере)пример)