BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 14:37

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Смена статуса через wsdl
СообщениеДобавлено: 01 дек 2016, 16:31 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Добрый день. Не найду библиотеку wsdl для смены статуса
Из библиотек вижу только ContractStatusMonitorService. При запросе ее через браузер выходит HTTP Status 500
Код:
https://10.0.0.102:8443/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.common.service/ContractStatusMonitorService?wsdl


Биллинг:
Код:
Информация о версии:

  Клиент: вер. 7.0.834 / 09.09.2016 13:06:09
    os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51
  Сервер: вер. 7.0.1103 / 09.09.2016 13:07:53
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66

  bill: вер. 7.0.92 / 23.08.2016 18:37:34
  card: вер. 7.0.40 / 22.08.2016 16:40:03
  cerbercrypt: вер. 7.0.219 / 22.08.2016 15:40:08
  dialup: вер. 7.0.319 / 29.08.2016 16:38:40
  email: вер. 7.0.180 / 25.05.2016 13:53:19
  inet: вер. 7.0.677 / 06.09.2016 19:06:54
  ipn: вер. 7.0.258 / 01.09.2016 18:14:39
  mps: вер. 7.0.198 / 09.09.2016 13:08:12
  npay: вер. 7.0.198 / 19.07.2016 18:37:21
  phone: вер. 7.0.275 / 01.09.2016 18:04:07
  rentsoft: вер. 7.0.65 / 10.06.2016 17:00:01
  reports: вер. 7.0.215 / 06.09.2016 17:39:00
  rscm: вер. 7.0.180 / 10.06.2016 17:00:08
  ru.bitel.bgbilling.plugins.cladr: вер. 7.0.123 / 08.04.2016 17:40:39
  ru.bitel.bgbilling.plugins.crm: вер. 7.0.194 / 31.05.2016 15:00:38
  ru.bitel.bgbilling.plugins.helpdesk: вер. 7.0.190 / 29.08.2016 16:32:16
  ru.bitel.bgbilling.plugins.organizer: вер. 7.0.74 / 08.04.2016 17:40:44
  voiceip: вер. 7.0.189 / 08.04.2016 17:40:15

Окружение:

  Клиент:
    os: Windows 8.1 amd64, 6.3
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51
    jre home: c:\Java\jre8
    default tz: 01.12.2016 14:31 SAMT +0400 (Europe/Samara)
    user tz: 01.12.2016 14:31 GET +0400 (Asia/Tbilisi)
    locale: ru_RU
  Сервер:
    os: Linux amd64, 3.19.0-33-generic
    java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66
    jre home: /opt/java/jdk1.8.0_66/jre
    default tz: 01.12.2016 14:31 SAMT +0400 (Europe/Samara)
    db time: master: 01.12.2016 14:31 SAMT
    db charset: connection: utf8(utf8_general_ci), database: utf8(utf8_unicode_ci)
    locale: ru_RU
    uptime: Started: 28.11.2016 14:44:36 Uptime: 2 d 23:47:21

Третьи стороны:

  Fugue Icons. Copyright © 2011 Yusuke Kamiyamane. All rights reserved.
    http://p.yusukekamiyamane.com/
  Silk icon set. Copyright © Mark James. All rights reserved.
    http://www.famfamfam.com/lab/icons/silk/


Код:
jar:file:/C:/Users/Aleksander/Desktop/BGBillingClient/lib/client.jar!/ru/bitel/bgbilling/kernel/contract/status/common/service/ContractStatusMonitorService.wsdl -> {http://service.
common.status.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:changeContractStatus
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:changeContractStatus xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns
:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><cid>263</cid><statusId>0</statusId><dateFrom>201
6-12-01T00:00:00+04:00</dateFrom><comment/></ns5:changeContractStatus></S:Body></S:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns5:changeContractStatusResponse xmlns:ns5="http://service.common.status.contract.kernel.bgbilli
ng.bitel.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:S="http://schemas.xmlsoa
p.org/soap/envelope/" xmlns:xml="http://www.w3.org/XML/1998/namespace"/></S:Body></S:Envelope>

jar:file:/C:/Users/Aleksander/Desktop/BGBillingClient/lib/client.jar!/ru/bitel/bgbilling/kernel/contract/status/common/service/ContractStatusMonitorService.wsdl -> {http://service.
common.status.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:getStatusList
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:getStatusList xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns:common
="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><onlyManual>true</onlyManual></ns5:getStatusList></S:Bod
y></S:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns5:getStatusListResponse xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bite
l.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:S="http://schemas.xmlsoap.org/s
oap/envelope/" xmlns:xml="http://www.w3.org/XML/1998/namespace"><return id="0" title="╨Р╨║╤В╨╕╨▓╨╡╨╜"/><return id="2" title="╨Ю╤В╨║╨╗╤О╤З╨╡╨╜"/><return id="3" title="╨Ч╨░╨║╤А╤Л╤В"/
><return id="4" title="╨Я╤А╨╕╨╛╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜"/></ns5:getStatusListResponse></S:Body></S:Envelope>
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=SSjdQ1BNzYF5Vr7LDrP2SN5u&module=contract.status&action=ContractStatusTable&cid=263&
[ length = 1597 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="9E617326B1292906DCD462D70157060E" status="ok"><table><data><row comment="Статус установлен сервером" id=
"442" period="11.03.2011-14.07.2011" status="Активен"/><row comment="" id="1355" period="15.07.2011-21.07.2011" status="Приостановлен"/><row comment="" id="1400" period="22.07.2011
-02.03.2013" status="Активен"/><row comment="" id="41375" period="03.03.2013-10.02.2014" status="Активен"/><row comment="" id="94797" period="11.02.2014-11.02.2014" status="Активен
"/><row comment="" id="94832" period="12.02.2014-28.05.2014" status="Активен"/><row comment="" id="116157" period="29.05.2014-29.05.2014" status="Активен"/><row comment="" id="1162
51" period="30.05.2014-03.06.2015" status="Активен"/><row comment="" id="224886" period="04.06.2015-17.09.2015" status="Активен"/><row comment="" id="257284" period="18.09.2015-16.
02.2016" status="Активен"/><row comment="" id="296879" period="17.02.2016-17.02.2016" status="Отключен"/><row comment="" id="296881" period="18.02.2016-07.06.2016" status="Активен"
/><row comment="" id="332420" period="08.06.2016-10.08.2016" status="Активен"/><row comment="по заявлению от 29.07.2016" id="343492" period="01.08.2016-07.08.2016" status="Приостан
овлен"/><row comment="по заявлению от 29.07.2016" id="343514" period="01.08.2016-10.08.2016" status="Приостановлен"/><row comment="" id="454465" period="11.08.2016-27.11.2016" stat
us="Активен"/><row comment="" id="484662" period="28.11.2016-30.11.2016" status="Акт...
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=8FjhHLWDqKHUgqoqIPppnsBF&module=contract.status&action=ContractStatusLog&cid=263&
[ length = 7936 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="5AD481B8BDCC5E5D15EE88BC5676C4D8" status="ok"><table><data><row comment="Статус установлен сервером" dat
e="11.03.2011 10:25:13" period="11.03.2011-?" status="Активен" user="Сервер"/><row comment="" date="15.07.2011 17:43:10" period="16.07.2011-?" status="Приостановлен" user="??? (4)"
/><row comment="" date="15.07.2011 17:43:30" period="15.07.2011-?" status="Приостановлен" user="??? (4)"/><row comment="" date="22.07.2011 16:52:20" period="22.07.2011-?" status="А
ктивен" user="??? (4)"/><row comment="" date="04.03.2013 11:35:14" period="03.03.2013-?" status="Отключен" user="Константин Блохин"/><row comment="" date="04.03.2013 11:59:38" peri
od="03.03.2013-?" status="Активен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:00:32" period="03.03.2013-?" status="Приостановлен" user="Константин Блохин"/><row
comment="" date="04.03.2013 12:00:36" period="03.03.2013-?" status="Приостановлен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:14:26" period="03.03.2013-?" status
="Активен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:14:56" period="03.03.2013-?" status="Отключен" user="Константин Блохин"/><row comment="" date="05.03.2013 0
9:03:26" period="03.03.2013-?" status="Активен" user="Константин Блохин"/><row comment="" date="11.02.2014 09:36:40" period="11.02.2014-?" status="Приостановлен" user="??? (13)"/><
row comment="" date="11.02.2014 09:37:23" period="11.02.2014-?" status="Активен" use...
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=sBBOKxGbdM5DBtqGrmLvKY1Y&module=contract&action=ContractInfo&cid=263&
[ length = 755 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="8AB73F631429C213EC8232A309FE9D6F" status="ok"><contract comment="egs63" comments="0" date1="11.03.2011" d
ate2="" del="0" fc="0" gr="128" hierarchy="independent" limit="-1000.00" mode="0" objects="1/1" status="Активен" title="egs63"/><info><groups><item id="7" title="Служебные"/></grou
ps><tariff><item id="196" title="Тариф ?МЕГА90?"/></tariff><balance mm="10" summa1="0.00" summa2="0.00" summa3="0.00" summa4="0.00" summa5="0.00" summa6="0.00" summa7="0.00" yy="20
16"/><modules><item id="18" package="ru.bitel.bgbilling.modules.inet.api.client" status="" title="Inet"/><item id="13" package="bitel.billing.module.services.bill" status="" title=
"Бухгалтерия"/></modules><script/><plugins/></info></data>

jar:file:/C:/Users/Aleksander/Desktop/BGBillingClient/lib/client.jar!/ru/bitel/bgbilling/kernel/contract/balance/common/ReserveService.wsdl -> {http://common.balance.contract.kerne
l.bgbilling.bitel.ru/}ReserveService:reserveSum
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:reserveSum xmlns:ns5="http://common.balance.contract.kernel.bgbilling.bitel.ru/" xmlns:common="http://c
ommon.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><contractId>263</contractId></ns5:reserveSum></S:Body></S:Envelope
>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns5:reserveSumResponse xmlns:ns5="http://common.balance.contract.kernel.bgbilling.bitel.ru/" xml
ns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:S="http://schemas.xmlsoap.org/soap/envelo
pe/" xmlns:xml="http://www.w3.org/XML/1998/namespace"><return>0</return></ns5:reserveSumResponse></S:Body></S:Envelope>

jar:file:/C:/Users/Aleksander/Desktop/BGBillingClient/lib/client.jar!/ru/bitel/bgbilling/kernel/contract/status/common/service/ContractStatusMonitorService.wsdl -> {http://service.
common.status.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:getStatusList
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:getStatusList xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bitel.ru/" xmlns:common
="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><onlyManual>true</onlyManual></ns5:getStatusList></S:Bod
y></S:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns5:getStatusListResponse xmlns:ns5="http://service.common.status.contract.kernel.bgbilling.bite
l.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:S="http://schemas.xmlsoap.org/s
oap/envelope/" xmlns:xml="http://www.w3.org/XML/1998/namespace"><return id="0" title="╨Р╨║╤В╨╕╨▓╨╡╨╜"/><return id="2" title="╨Ю╤В╨║╨╗╤О╤З╨╡╨╜"/><return id="3" title="╨Ч╨░╨║╤А╤Л╤В"/
><return id="4" title="╨Я╤А╨╕╨╛╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜"/></ns5:getStatusListResponse></S:Body></S:Envelope>
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=Sa2Jm1pUBhT3OsTScU095zNJ&module=contract.status&action=ContractStatusTable&cid=263&
[ length = 1597 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="0F80120350035CF13E2EC4CF75E8C17F" status="ok"><table><data><row comment="Статус установлен сервером" id=
"442" period="11.03.2011-14.07.2011" status="Активен"/><row comment="" id="1355" period="15.07.2011-21.07.2011" status="Приостановлен"/><row comment="" id="1400" period="22.07.2011
-02.03.2013" status="Активен"/><row comment="" id="41375" period="03.03.2013-10.02.2014" status="Активен"/><row comment="" id="94797" period="11.02.2014-11.02.2014" status="Активен
"/><row comment="" id="94832" period="12.02.2014-28.05.2014" status="Активен"/><row comment="" id="116157" period="29.05.2014-29.05.2014" status="Активен"/><row comment="" id="1162
51" period="30.05.2014-03.06.2015" status="Активен"/><row comment="" id="224886" period="04.06.2015-17.09.2015" status="Активен"/><row comment="" id="257284" period="18.09.2015-16.
02.2016" status="Активен"/><row comment="" id="296879" period="17.02.2016-17.02.2016" status="Отключен"/><row comment="" id="296881" period="18.02.2016-07.06.2016" status="Активен"
/><row comment="" id="332420" period="08.06.2016-10.08.2016" status="Активен"/><row comment="по заявлению от 29.07.2016" id="343492" period="01.08.2016-07.08.2016" status="Приостан
овлен"/><row comment="по заявлению от 29.07.2016" id="343514" period="01.08.2016-10.08.2016" status="Приостановлен"/><row comment="" id="454465" period="11.08.2016-27.11.2016" stat
us="Активен"/><row comment="" id="484662" period="28.11.2016-30.11.2016" status="Акт...
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=BhhDw2OLJluObRZGx3eigcn7&module=contract.status&action=ContractStatusLog&cid=263&
[ length = 7936 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="518F1EFB581CA16E5AB377BCC169EE95" status="ok"><table><data><row comment="Статус установлен сервером" dat
e="11.03.2011 10:25:13" period="11.03.2011-?" status="Активен" user="Сервер"/><row comment="" date="15.07.2011 17:43:10" period="16.07.2011-?" status="Приостановлен" user="??? (4)"
/><row comment="" date="15.07.2011 17:43:30" period="15.07.2011-?" status="Приостановлен" user="??? (4)"/><row comment="" date="22.07.2011 16:52:20" period="22.07.2011-?" status="А
ктивен" user="??? (4)"/><row comment="" date="04.03.2013 11:35:14" period="03.03.2013-?" status="Отключен" user="Константин Блохин"/><row comment="" date="04.03.2013 11:59:38" peri
od="03.03.2013-?" status="Активен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:00:32" period="03.03.2013-?" status="Приостановлен" user="Константин Блохин"/><row
comment="" date="04.03.2013 12:00:36" period="03.03.2013-?" status="Приостановлен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:14:26" period="03.03.2013-?" status
="Активен" user="Константин Блохин"/><row comment="" date="04.03.2013 12:14:56" period="03.03.2013-?" status="Отключен" user="Константин Блохин"/><row comment="" date="05.03.2013 0
9:03:26" period="03.03.2013-?" status="Активен" user="Константин Блохин"/><row comment="" date="11.02.2014 09:36:40" period="11.02.2014-?" status="Приостановлен" user="??? (13)"/><
row comment="" date="11.02.2014 09:37:23" period="11.02.2014-?" status="Активен" use...
https://10.0.0.102:8443/bgbilling/executer?BGBillingSecret=8ZX6R2qRILMqy1dvdP4sojCY&module=contract&action=GetPackageName&cid=263&
[ length = 287 ] xml = <?xml version="1.0" encoding="UTF-8"?><data secret="3E32116F814D8E3CDC70CD9A59B7226C" status="ok"><packages><item id="18" package="ru.bitel.bgbilling.modules
.inet.api.client" title="Inet"/><item id="13" package="bitel.billing.module.services.bill" title="Бухгалтерия"/></packages></data>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 01 дек 2016, 18:42 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Нужно указывать пакет без ".common.service".

Код:
https://10.0.0.102:8443/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.api/ContractStatusService?wsdl


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 02 дек 2016, 11:59 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Спасибо. Как я могу это сам находить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 07 дек 2016, 16:20 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Странно, что нужно убирать
Код:
".common.service".
из названия пакета классов из api. Но если это общее правило для всех пакетов, то ладно :)
Написал скрипт для смены статуса
Код:
<?php
$login = 'log';
$password = 'pass';

$client = new SoapClient(
'https://10.0.0.102:8443/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl',
array(
'login' => $login,
'password' => $password
)
);
$dateFrom = new DateTime('2016-12-08');
$dateTo = new DateTime('2016-12-09');
$cid_arr = array('cid' => 263);
$params = array(
'cid' => $cid_arr,
'statusId' => 3,
'dateFrom' => $dateFrom->format('Y-m-d'),
'dateTo' => $dateTo->format('Y-m-d'),
'comment' => 'Смена статуса  через личный кабинет wsdl'
);

$client->changeContractStatus($params);
//header("Location: base_internet.php");
?>



Он отрабатывает без ошибок: на странице браузера ошибок нет, в логах апача тоже нет. Но статус на договоре не меняется.


Вложения:
договор.png
договор.png [ 53.75 КБ | Просмотров: 5363 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 08 дек 2016, 13:17 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Убирать нужно, потому что нужен не пакет класса, а название модуля к которому относится сервис.
Пакеты классов вообще в таких случаях не используются и в других местах (перегрузка в дин.коде, прямой вызов итд.)
Клиент обращается с таким же названием модуля, там всегда можно посмотреть в логах, это к вопросу "как я могу это сам находить".

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 08 дек 2016, 15:58 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
в логах апача тоже нет
причём тут логи апача, в логах сервера что? вызов вообще срабатывает?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 08 дек 2016, 16:14 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Ошибки скрипта в логах апача писались.
В логах сервера не наблюдаю логов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 08 дек 2016, 16:46 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Это ошибки вашего php, но тут речь о том, почему не вызывается веб-сервис биллинга.
Обращение фиксируется в биллинге? Да/нет. Это ведь ключевое. acces-логи, логи сервера в DEBUG итд - ну всё же просто и понятно, что надо с этого начинать разбор проблемы, ну просто не хочется очередной раз отвечать на "статус на договоре не меняется" что-то типа "вы что-то неправильно сделали".

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 09 дек 2016, 09:30 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Рекомендую в скрипте обернуть все в try-catch, включить вывод исключений, а также вывод исходящего запроса и ответа сервера.
Примерно вот так:
Код:
<?php
try {
   error_reporting(E_ALL);
   $client = new SoapClient("http://<server>:<port>/bgbilling/<module>/<mid>/<service>?wsdl", array('soap_version' => SOAP_1_1,"trace" => 1, "exceptions" => 1));
        .....
   $client->someMethod();

   echo  "<pre>\n";
   echo  "Запрос :\n".htmlspecialchars($client->__getLastRequest()) ."\n";
   echo  "Ответ:\n".htmlspecialchars($client->__getLastResponse())."\n";
   echo  "</pre>";
} catch (Exception $e) {
    echo  'Выброшено исключение: ',  $e->getMessage(), "\n";
}
?>


Но это не решает вопрос того, что запрос до сервера не доходит. Для начала нужно разобраться с этим. Попробуйте перезагружать apache, попробуйте выполнить скрипт не из браузера, а из консоли через соответствующую команду.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 09 дек 2016, 12:00 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Да, поставил debug. Кажется, вот. Это из логов сервера
Код:
 Http11Processor - Error parsing HTTP request header
java.io.EOFException: Unexpected EOF read on the socket
        at org.apache.coyote.http11.Http11Processor.setRequestLineReadTimeout(Http11Processor.java:168)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:986)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 19 дек 2016, 14:38 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Ошибка была в неправильном параметре, передаваемом в метод 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();
}
?>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 19 дек 2016, 16:28 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Есть 2 веб-сервиса, у которых разные параметры:
1) ContractStatusMonitorService и метод

Код:
public void changeContractStatus( int[] cids, int statusId, Date dateFrom, Date dateTo, String comment )  throws BGException


2) ContractStatusService и метод

Код:
public int contractStatusChange( final int contractId, final ContractStatus contractStatus, final boolean customer ) throws BGException


В первом случае используется массив кодов договоров, т.к. в мониторе можно выделить группу договоров и пачкой изменить статус. Во втором случае меняется статус у одного конкретного договора. Предполагаю, что для ваших задач предпочтительнее использовать второй метод.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена статуса через wsdl
СообщениеДобавлено: 19 дек 2016, 17:15 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
В скрипте используется метод
Код:
changeContractStatus(int cid, int statusId, java.util.Date dateFrom, java.util.Date dateTo, java.lang.String comment)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.206s | 46 Queries | GZIP : On ]