powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / simplexml_load_string xmlsax2characters huge text node out of memory
5 сообщений из 5, страница 1 из 1
simplexml_load_string xmlsax2characters huge text node out of memory
    #39783371
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Использую SoapClient
один из узлов возвращает данных больше 10мб
пытаюсь добавить LIBXML_PARSEHUGE для получения такого xml
Но
print_r($xmlDoc);
возвращает пустой узел

Код: php
1.
$response = $client->__getLastResponse();


при сохранении ответа в файл, сохраняется абсолютно нормальный файл xml без лишних символов


libxml 2.7.3
php 5.2.12


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
  //создаем клиента к веб-сервису
        $options = array(
                //'exceptions'=>true,
                'trace'=>1
                //'cache_wsdl'=>WSDL_CACHE_NONE,
				//'soap_version' => SOAP_1_1
        );  
  
  $client = new SoapClient("http://localhost:8080/wsdl/IWebServSM", $options);
  //if(isset($_POST['jsonrequest']['params']))
  $params=$_POST['jsonrequest']['params']; 
//else $params=array();
  //if(isset($_POST['jsonrequest']['makros']))
  $makros=$_POST['jsonrequest']['makros']; 
//else $makros=array();
  //добавляем код склада в параметры
  $params['skladid']=$_SESSION['userid'];
  try{
  //на выходе xml с полем error если есть ошибка и полем data с данными в base64
    $response=$client->DoRequest($_POST['jsonrequest']['name'],json_encode($params),json_encode($makros),$_POST['jsonrequest']['outtype'],$_SESSION['baseid']);
  } catch(SoapFault $e)
  {


    $response = $client->__getLastResponse();
    $response = str_replace("&#x1A","",$response);
    $response = str_replace('SOAP-ENV:', '', $response);
	$response = str_replace('SOAP:', '', $response);
    //$response = str_replace("\r\n","",$response);	
//	file_put_contents('resp.xml',$response);
	$xmlDoc = new DOMDocument();
    $xmlDoc->loadXML( $response, LIBXML_PARSEHUGE | LIBXML_NOXMLDECL );
    //$response = simplexml_load_string($response, "SimpleXMLElement");//, LIBXML_PARSEHUGE | LIBXML_PEDANTIC);	  
	
  }
  //$res=//json_decode(json_encode(htmlspecialchars(json_decode($response))),true);	  
  //json_decode(json_encode($response),true);
  print_r($xmlDoc);
  die();
...
Рейтинг: 0 / 0
simplexml_load_string xmlsax2characters huge text node out of memory
    #39783451
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и?
...
Рейтинг: 0 / 0
simplexml_load_string xmlsax2characters huge text node out of memory
    #39783455
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а, все, увидел вопрос
...
Рейтинг: 0 / 0
simplexml_load_string xmlsax2characters huge text node out of memory
    #39783460
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем суть в том, что simplexml_load_string в моей версии php не понимает теги с двоеточием.
сделал так и далее заработало:
Код: php
1.
2.
3.
4.
5.
    $response = str_replace("&#x1A","",$response);
    $response = str_replace('SOAP-ENV:', '', $response);
	$response = str_replace('SOAP:', '', $response);
	$response = str_replace('NS1:', '', $response);
    $response = str_replace("\r\n","",$response);
...
Рейтинг: 0 / 0
simplexml_load_string xmlsax2characters huge text node out of memory
    #39783461
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
evgen29в общем суть в том, что simplexml_load_string в моей версии php не понимает теги с двоеточием.
сделал так и далее заработало:

$response = str_replace("","",$response);
$response = str_replace('SOAP-ENV:', '', $response);
$response = str_replace('SOAP:', '', $response);
$response = str_replace('NS1:', '', $response);
$response = str_replace("\r\n","",$response);
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / simplexml_load_string xmlsax2characters huge text node out of memory
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]