Я пытаюсь преобразовать ответ SOAP в XML.
МЫЛО имеет оболочку и тело
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body>
Когда я пытаюсь конвертировать
$responseXML = simplexml_load_string($string);
Я получаю
object(SimpleXMLElement)#20 (0) { }
Если я отредактирую $string как soap:Envelope и soap:Body, я могу получить XML.
$string
soap:Envelope
soap:Body
Что не так с :? Не удается получить XML.
:
Надеюсь, это понятно. Кто-нибудь?
SOAP-сообщение является уже XML. Проблема в том, что у него есть пространства имен, поэтому вам нужно обращаться к нему по-другому. (Часть перед двоеточием является идентификатором пространства имен.)
Здесь (кэшированная копия Google) - это пример использования пространств имен с SimpleXML. Здесь является конкретным примером для чтения сообщений SOAP.
SimpleXML требует специальной обработки для пространства имен XML ( ref. )