Добрый день,
Написал простой на PHP скрипт, который используя сервис SOAP отправляет запрос на сервер. Запрос сервер принимает, потом отвечает. Проблема здесь, ничего не могу прочитать из ответа:
Сообщение об ошибке:
SoapClient::__doRequest() returned non string value
Ответ заголовка такой:
HTTP/1.1 200 OK
Date: Mon, 03 Sep 2018 10:17:16 GMT
Content-Length: 1352
Content-Type: text/xml; charset=utf-8
X-Powered-By: Servlet/2.5 JSP/2.1
Версия PHP:
7.0.31.
Код на PHP:
<?php
ini_set('display_errors', TRUE);
ini_Set('display_startup_errors', TRUE);
ini_set('soap.wsdl_cache_enabled', 1);
ini_set('soap.wsdl_cache_ttl', 0);
$url = '... URL to WSDL ...';
$client = new SoapClient($url, array(
'connection_timeout' => 50,
'cache_wsdl' => WSDL_CACHE_MEMORY,
'trace' => 1,
'soap_version' => 'SOAP 1.2',
'encoding' => 'utf-8',
'exceptions' => true,
'login' => '...username...',
'password' => '...password...',
));
class TestClass
{
public $testVar;
}
$test = new TestClass;
$test->testVar = 'TestTestTest';
try {
$return = $client->__soapCall('TestFunction', array($test));
} catch (SoapFault $soapFault) {
print_r($soapFault->getMessage());
echo "Request: ", htmlentities($client->__getLastRequest());
echo "Response: [", htmlentities($client->__getLastResponse());
print_r($client->__getLastRequest());
print_r($client->__getLastRequestHeaders());
print_r($client->__getLastResponse());
print_r($client->__getLastResponseHeaders());
}