#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