Опубликовал вебсервис на 1с.
При обращении к вебсервису из SOAP UI,
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:sam="http://www.sample-package.org">
<soap:Header/>
<soap:Body>
<sam:PoschitatDoxod>
<sam:Data1>2015-01-01</sam:Data1>
<sam:Data2>2015-05-01</sam:Data2>
</sam:PoschitatDoxod>
</soap:Body>
</soap:Envelope>
он выдает XML вида.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<m:PoschitatDoxodResponse xmlns:m="http://www.sample-package.org">
<m:return xsi:type="m:Otchet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:strokaOtcheta>
<m:doxod>7777777</m:doxod>
<m:razxod>7777777</m:razxod>
<m:podrazdelenie>Тест</m:podrazdelenie>
</m:strokaOtcheta>
<m:strokaOtcheta>
<m:doxod>7777777</m:doxod>
<m:razxod>7777777</m:razxod>
<m:podrazdelenie>Тест</m:podrazdelenie>
</m:strokaOtcheta>
<m:strokaOtcheta>
<m:doxod>7777777</m:doxod>
<m:razxod>7777777</m:razxod>
<m:podrazdelenie>Тест</m:podrazdelenie>
</m:strokaOtcheta>
<m:strokaOtcheta>
<m:doxod>7777777</m:doxod>
<m:razxod>7777777</m:razxod>
<m:podrazdelenie>Тест</m:podrazdelenie>
</m:strokaOtcheta>
</m:return>
</m:PoschitatDoxodResponse>
</soap:Body>
</soap:Envelope>
То есть все нормально получается.
Теперь пробую обратиться к вебсервису из PHP.
<?php
error_reporting( E_ERROR ); // 1. Отключаем лишние сообщения
ini_set("soap.wsdl_cache_enabled", "0" );
// 3. Устанавливаем soap-соединение
$client = new SoapClient("http://localhost/doxod/ws/doxod.1cws?wsdl",
array(
'login' => null, //логин, аутентификацию выполнять не будем
'password' => null, //пароль
'trace' => true,
'features' => SOAP_USE_XSI_ARRAY_TYPE,
//'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5
)
);
$params["Data1"] = 2015-01-01;
$params["Data2"] = 2015-05-01;
// 5. Выполняем операцию
$result = $client->PoschitatDoxod($params)->return->strokaOtcheta;
// 6. Выводим результат на экран
var_dump($result);
?>
В ответ получаю только NULL. Что ж я такого сделал не так?
Если получать просто
$result = $client->PoschitatDoxod($params)
то ответ будет таким
object(stdClass)#2 (1) { ["return"]=> object(stdClass)#3 (0) { } }