Max_Cohen
@Max_Cohen
Программист, который не программирует

SoapClient::__doRequest() returned non string value... что не так?

Добрый день,

Написал простой на 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());
}
  • Вопрос задан
  • 798 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы