Ошибка была в неправильном параметре, передаваемом в метод changeContractStatus
В доке сказано, что cid должны передаваться в виде массива
Код:
changeContractStatus(int[] cid, int statusId, java.util.Date dateFrom, java.util.Date dateTo, java.lang.String comment)
Код:
https://bgbilling.ru/v6.2/javadoc/ru/bitel/bgbilling/kernel/contract/status/common/service/ContractStatusMonitorService.html
Так вот, если передавать cid как массив, что я и делал раньше, то метод не срабатывает.
Если передать вместо массива целое число, то метод работает
Как так?
Рабочий код:
Мб, кому понадобится
Код:
<?php
$login = 'login';
$password = 'pass';
try {
error_reporting(E_ALL);
$client = new SoapClient(
'https://host:port/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl',
array(
'login' => $login,
'password' => $password
)
);
$dateFrom = new DateTime('2016-12-19');
$dateTo = new DateTime('2016-12-19');
$cid_arr = array('cid' => 263);
$params = array(
'cid' => 263,
'statusId' => 3,
'dateFrom' => $dateFrom->format('Y-m-d'),
'dateTo' => $dateTo->format('Y-m-d'),
'comment' => 'Смена статуса через личный кабинет wsdl'
);
$client->changeContractStatus($params);
} catch (Exception $e) {
echo 'Выброшено исключение: '.' '. $e->getMessage();
}
?>