Приклад клієнта на PHP
Нижче наведено приклад на PHP NuSOAP. Звертаємо увагу - формується два клієнти, перший викличе метод Queryresult і перевірить чи є кредитна історія і після цього другий GetReport надішле запит на її отримання. Якщо крок перший пропустити, клієнт матиме подвійну тарифікацію запитів.
require_once('lib/nusoap.php');
$username = '';
$password = '';
$identification = '';
$ip = $_SERVER['REMOTE_ADDR'];
$client1 = new nusoap_client('https://secure.credithistory.com.ua/service/api/index.php?wsdl',true);
$client2 = new nusoap_client('https://secure.credithistory.com.ua/service/service.asmx?wsdl',true);
$headers =
"<m:CigWsHeader xmlns:m=\"http://ws.creditinfo.com/\">
<m:UserName>$username</m:UserName>
<m:Password>$password</m:Password>
<m:Version>1_0</m:Version>
<m:Culture>uk-UA</m:Culture>
<m:SecurityToken>String</m:SecurityToken>
<m:UserId>0</m:UserId>
</m:CigWsHeader>";
//запрос на поиск
$search = "
<Username>$username</Username>
<Password>$password</Password>
<Number>$identification</Number>
<NumberType>130</NumberType>
";
$result_search = $client1->call('Queryresult',$search, 'http://ws.creditinfo.com/');
//Получаем Creditinfoid
$resultcode = $result_search['Resultcode'];
if( $resultcode == 1102 ) {
$cid = '';
}
else { $cid = $result_search['Entity']['Creditinfoid'];
}
//Если не нашли
if ( $resultcode != 1102 ){
$nextstep = 'True';
} else {
$nextstep = 'False';
}
if( $nextstep == 'True' ) {
$client2->setHeaders($headers,'http://ws.creditinfo.com/');
$raw_xml ="
<m:GetReport xmlns:m=\"http://ws.creditinfo.com/\">
<m:reportId>200017</m:reportId>
<m:doc><keyValue>
<ciid>$cid</ciid>
<creditinfoId>$cid</creditinfoId>
<remoteIp>$ip</remoteIp>
<reportVersion>2</reportVersion>
</keyValue>
</m:doc>
</m:GetReport>";
$result = $client2->call('GetReport',$raw_xml, 'http://ws.creditinfo.com/');
$xmlresult = $client2->responseData;
print_r($xmlresult);
}