simplexml_load_string () ожидает, что параметр 1 будет строкой при разборе этого Soap xml

Я попробовал решения Как проанализировать этот XML-ответ SOAP с помощью PHP simplexml_load_string?, но это не работает

Может быть, у кого-то есть идея о том, как проанализировать этот результат Soap XML, вы найдете файл soap.xml, результат и тест

Soap.xml

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" ...>
<wsdl:documentation>soapExemple</wsdl:documentation>
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://.../xsd">
...

Выход:

<?php
ini_set("soap.wsdl_cache_enabled", "0");
const USER = "userHere";
const PASSWORD = "passHere";
$credentials = array('login' => USER, 'password' => PASSWORD);
$options = array("trace" => 1, "exception" => 0, 'encoding' => 'UTF-8');
$url = "pass/to/wsdl.xml";
$soap = new SoapClient($url, $credentials);
var_dump($soap);

try {
$result = $soap->__soapCall("reclis_XML", array("parameters"=>array("args0"=>array("METHODHERE" => "01"))));
var_dump($result);
} catch (SoapFault $exception) {
\Zend_Debug::dump( 'Exception Thrown: '.$exception->faultstring);
}

?>

Результат:

object(stdClass)#6591 (1) {
["return"] => string(39171) "<?xml version="1.0" encoding="UTF-8"?>
<RECLIS>
<RESULT>KO</RESULT>
<REAL>0</REAL>
<RUS>
<REAL>0</REAL>
<CUSTOMER>
<CLEMAJ></CLEMAJ>
<NAME></NAME>
<LASTNALE>0</LASTNALE>
<PHONE>0</PHONE>
<AD></AD>
<ADDRESS1></ADDRESS1>
<ADDRESS2></ADDRESS2>
<CITY></CITY>
<CODE></CODE>
<PRICE>0</PRICE>
</CUSTOMER>
<CUSTOMER>
<CLEMAJ></CLEMAJ>
<NAME></NAME>
<LASTNALE>0</LASTNALE>
<PHONE>0</PHONE>
<AD></AD>
<ADDRESS1></ADDRESS1>
<ADDRESS2></ADDRESS2>
<CITY></CITY>
<CODE></CODE>
<PRICE>0</PRICE>
</CUSTOMER>
<CUSTOMER>
<CLEMAJ></CLEMAJ>
<NAME></NAME>
<LASTNALE>0</LASTNALE>
<PHONE>0</PHONE>
<AD></AD>
<ADDRESS1></ADDRESS1>
<ADDRESS2></ADDRESS2>
<CITY></CITY>
<CODE></CODE>
<PRICE>0</PRICE>
</CUSTOMER>
...
</RUS>
</RECLIS>
"}

Я пробовал это, но это не работает:

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);

У вас есть идея или другое решение, чтобы получить мой результат XML в виде массива

2

Решение

Вы должны получить строку, открыв return имущество

Попробуйте использовать:

$xml=simplexml_load_string($myXMLData->return) or die("Error: Cannot create object");
print_r($xml);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector