Вызовы SoapClient продолжают возвращать значение null

#php #soap

#php #soap

Вопрос:

Я уже некоторое время ломаю голову над этим, и у меня ничего не получается.

 $client = new SoapClient($wsdl, array('trace' => 1));
print_r($client->__getFunctions());
$params->param1 = $cust;
$params->param2 = "1f0de966909641061b729d383bd41bb2f0c3f4db";
$response = $client->ValidateLicenseKey($params);
print_r($params);
print_r($response);
echo "Last Request: ".$client->__getLastRequest();
echo "Last Response: ".$client->__getLastResponse();
  

Результат этого выглядит следующим образом:

 Array
(
    [0] => ValidateLicenseKeyResponse ValidateLicenseKey(ValidateLicenseKey $parameters)
    [1] => CreateProviderResponse CreateProvider(CreateProvider $parameters)
    [2] => SetHardwareProfileResponse SetHardwareProfile(SetHardwareProfile $parameters)
    [3] => UpdateCurrentVersionResponse UpdateCurrentVersion(UpdateCurrentVersion $parameters)
    [4] => SoftwareUpdateAvailableResponse SoftwareUpdateAvailable(SoftwareUpdateAvailable $parameters)
    [5] => GetSoftwareUpdateResponse GetSoftwareUpdate(GetSoftwareUpdate $parameters)
)
stdClass Object
(
    [param1] => satsys
    [param2] => 1f0de966909641061b729d383bd41bb2f0c3f4db
)
stdClass Object
(
    [ValidateLicenseKeyResult] => 
)
Last Request: <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"><SOAP-ENV:Body><ns1:ValidateLicenseKey/></SOAP-ENV:Body></SOAP-ENV:Envelope>
Last Response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><ValidateLicenseKeyResponse xmlns="http://tempuri.org/"><ValidateLicenseKeyResult>false</ValidateLicenseKeyResult></ValidateLicenseKeyResponse></s:Body></s:Envelope></pre>
  

С какой стати print_r предполагает, что возвращаемое значение равно null? Это всего лишь простой вызов, который проверяет, есть ли ключ в базе данных или нет. Ни одна из других функций также не возвращает результаты. Кто-нибудь может объяснить, что здесь происходит не так?

Ответ №1:

Возвращаемое значение не равно null, это false . Используйте var_dump , чтобы более четко видеть типы переменных. Проанализированный объект response является допустимым представлением XML-ответа.

Комментарии:

1. Или, как и я, вы var_dumping не ту переменную. facepalm