<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Serov.eu &#187; soap</title>
	<atom:link href="https://serov.eu/?feed=rss2&#038;tag=soap" rel="self" type="application/rss+xml" />
	<link>https://serov.eu</link>
	<description>Блог программиста</description>
	<lastBuildDate>Thu, 30 Apr 2026 12:31:53 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.15</generator>
	<item>
		<title>Рецепт разбора SOAP ответа</title>
		<link>https://serov.eu/?p=691</link>
		<comments>https://serov.eu/?p=691#comments</comments>
		<pubDate>Wed, 19 May 2021 09:16:28 +0000</pubDate>
		<dc:creator><![CDATA[Evgen]]></dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">https://serov.eu/?p=691</guid>
		<description><![CDATA[Проблема: бывает так, что при вызове soap, ответ на стороне клиента не собирается в объект, это может быть и из-за wsdl или из-за неверного ответа от сервер. Решение: распарсить ответ от сервере как XML // выполняем функцию SOAP $response = $this-&#62;client-&#62;__soapCall("getParam", $param); // костыль, так как первый response ничего не вернул, будем тупо парсить XML &#8230; <a href="https://serov.eu/?p=691" class="more-link">Читать далее <span class="screen-reader-text">Рецепт разбора SOAP ответа</span></a>]]></description>
				<content:encoded><![CDATA[<p>Проблема: бывает так, что при вызове soap, ответ на стороне клиента не собирается в объект, это может быть и из-за wsdl или из-за неверного ответа от сервер.</p>
<p>Решение: распарсить ответ от сервере как XML</p>
<pre>// выполняем функцию SOAP
$response = $this-&gt;client-&gt;__soapCall("getParam", $param);

// костыль, так как первый response ничего не вернул, будем тупо парсить  XML ответ
$response = $this-&gt;client-&gt;__getLastResponse();

// xml парсеру не нравится тег с неймспейсами, вырезаем их
$response = str_ireplace(array('soapenv:', 'tem:', 'SOAP-ENV:', 'rpc:'), '', $response);
$xml = simplexml_load_string($response, "SimpleXMLElement", LIBXML_NOCDATA);

$json = json_encode($xml);
$arrayResponse = json_decode($json,TRUE);

</pre>
<p>Если есть ошибка при разборе, можно поиграть с параметрами</p>
<p>$xml = simplexml_load_string($response, &#171;SimpleXMLElement&#187;, <strong>LIBXML_COMPACT | LIBXML_PARSEHUGE</strong>);</p>
]]></content:encoded>
			<wfw:commentRss>https://serov.eu/?feed=rss2&#038;p=691</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOAP and BASE64</title>
		<link>https://serov.eu/?p=91</link>
		<comments>https://serov.eu/?p=91#comments</comments>
		<pubDate>Tue, 26 May 2015 15:27:39 +0000</pubDate>
		<dc:creator><![CDATA[Evgen]]></dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">https://serov.eu/?p=91</guid>
		<description><![CDATA[Потратил около часа, чтобы понять, почему при кодировании в base64 и передачи это через SOAP, получатель не может прочитать файл. Оказалось все просто. SOAP сам упаковывает данные в BASE64 и конструкция $imgbinary = fread(fopen($data['FormFileBuffer'], "r"), filesize($data['FormFileBuffer'])); $base64File = base64_encode($imgbinary); &#160; оказалась не нужна, достаточно сразу было отдать $imgbinary &#160;]]></description>
				<content:encoded><![CDATA[<p data-select-like-a-boss="1">Потратил около часа, чтобы понять, почему при кодировании в base64 и передачи это через SOAP, получатель не может прочитать файл.</p>
<p>Оказалось все просто. SOAP сам упаковывает данные в BASE64 и конструкция</p>
<pre>$imgbinary = fread(fopen($data['FormFileBuffer'], "r"), filesize($data['FormFileBuffer']));
 $base64File = base64_encode($imgbinary);</pre>
<p>&nbsp;</p>
<p>оказалась не нужна, достаточно сразу было отдать $imgbinary</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://serov.eu/?feed=rss2&#038;p=91</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
