forum.bitel.ru
http://forum.bitel.ru/

Ошибка в api
http://forum.bitel.ru/viewtopic.php?f=22&t=11609
Страница 1 из 1

Автор:  Inspire [ 19 май 2016, 13:27 ]
Заголовок сообщения:  Ошибка в api

Обнаружено несоответствие с документацией в api.
Вложение:
Безымянный.png
Безымянный.png [ 26.16 КБ | Просмотров: 8792 ]


На картинке видно, что summa2 (т.е. приход) перепутали с расходом summa4 (расходом)
Вот скрин этого договора из биллинга
Вложение:
Безымянный1.png
Безымянный1.png [ 32.12 КБ | Просмотров: 8791 ]

Автор:  barguzin2 [ 19 май 2016, 14:19 ]
Заголовок сообщения:  Re: Ошибка в api

вы путаете теплое с мягким. приводите результат взаимодействия клиента с сервером (вызов WebAction и результирующий XML), а говорите про API. В API никаких table, row и xml нету. кстати, про какое API речь (какой класс и метод) ?

Автор:  dimOn [ 19 май 2016, 14:37 ]
Заголовок сообщения:  Re: Ошибка в api

там просто пронумерованы столбцы

Автор:  Inspire [ 19 май 2016, 14:58 ]
Заголовок сообщения:  Re: Ошибка в api

Программисты блин...
Я ошибку в биллинге нашел, хотел вам помочь.
У вас в документации одно написано, в биллинге другое

Автор:  skn [ 19 май 2016, 15:00 ]
Заголовок сообщения:  Re: Ошибка в api

Inspire писал(а):
Программисты блин...
Я ошибку в биллинге нашел, хотел вам помочь.
У вас в документации одно написано, в биллинге другое


просьба уточнить в какой документации?

Автор:  dimOn [ 19 май 2016, 18:37 ]
Заголовок сообщения:  Re: Ошибка в api

Это исключительно внутренняя сущность по которой не может быть никакой документации.
Просто пронумерованы столбцы в получающейся таблице, summaN , никакого отношения к названию столбцов summa1-summa4 в БД итд итп это НЕ имеет

Автор:  Inspire [ 20 май 2016, 11:27 ]
Заголовок сообщения:  Re: Ошибка в api

Подскажите, как через http сменить статус договора?

Автор:  Phricker [ 20 май 2016, 11:59 ]
Заголовок сообщения:  Re: Ошибка в api

Это после
Inspire писал(а):
Программисты блин...

то, помогите пожалуйста? :D
Мы обидчивые :lol:

Автор:  Inspire [ 20 май 2016, 13:24 ]
Заголовок сообщения:  Re: Ошибка в api

про программистов это была не ирония, а шутка
что, вы на шутку обижаетесь?
так как это сделать?

Автор:  Akhmat [ 20 май 2016, 14:02 ]
Заголовок сообщения:  Re: Ошибка в api

Через дебаг запусти клиента биллинга, смени статус на договоре каком нибудь и потом в логе смотри как вызов выглядит

Автор:  Inspire [ 20 май 2016, 15:03 ]
Заголовок сообщения:  Re: Ошибка в api

Я это уже делал. там wsdl используется
Код:
https://172.16.0.6:8443/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl -> {http://service.common.statu
s.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:changeContractStatus


Я не знаю, как через нее сменить статус

Автор:  dimOn [ 20 май 2016, 15:09 ]
Заголовок сообщения:  Re: Ошибка в api

ну, стало быть, через вызов веб-сервиса соответствующего

Автор:  Inspire [ 20 май 2016, 15:32 ]
Заголовок сообщения:  Re: Ошибка в api

через какой? есть описание?

Автор:  barguzin2 [ 20 май 2016, 15:34 ]
Заголовок сообщения:  Re: Ошибка в api

ContractStatusMonitorService стало быть :)
всё же видно в том же дебаге, что снимали с клиента

Автор:  Inspire [ 20 май 2016, 17:05 ]
Заголовок сообщения:  Re: Ошибка в api

Ок, а где про него прочитать и как работать с ним в wsdl?

Автор:  barguzin2 [ 20 май 2016, 18:06 ]
Заголовок сообщения:  Re: Ошибка в api

Inspire писал(а):
Я это уже делал. там wsdl используется
Код:
https://172.16.0.6:8443/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl -> {http://service.common.statu
s.contract.kernel.bgbilling.bitel.ru/}ContractStatusMonitorService:changeContractStatus


Я не знаю, как через нее сменить статус


если вы делали то, что советовал Akhmat, и были достаточно внимательными, то этой информации должно хватить, чтобы через SOAP-клиент вызвать метод changeContractStatus сервиса ContractStatusMonitorService с параметрами, подсмотренными в логах дебага.

Можно также написать свой веб-экшин, в котором данный сервис уже используется в качестве API и к этому экшину уже можно будет делать обычный запрос из браузера. прочитать про сервис можно здесь https://bgbilling.ru/v7.0/javadoc/ru/bitel/bgbilling/kernel/contract/status/common/service/ContractStatusMonitorService.html. Пример использования сервисов в своих скриптах здесь http://wiki.bitel.ru/index.php/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F_%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9, для ядра MID=0.

Автор:  Inspire [ 23 май 2016, 13:08 ]
Заголовок сообщения:  Re: Ошибка в api

Спасибо, буду читать

Автор:  Inspire [ 23 май 2016, 13:37 ]
Заголовок сообщения:  Re: Ошибка в api

блин, мне бы один пример с этим сервисом

Автор:  Inspire [ 23 май 2016, 16:07 ]
Заголовок сообщения:  Re: Ошибка в api

Код:
my $soap = SOAP::Lite->new();
$soap->service('http://172.16.0.5:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl') or die ( 'Can not get SOAP object' );
$soap->proxy('http://172.16.0.5:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService');
my @data = (19,0,"23.05.2016","test");
#my $result = $soap->call('changeContractStatus', '$data');
my $result = $soap->changeContractStatus('@data');
my @ans = $result->result;
print Dumper(@ans);


Делаю такой запрос из скрипта
Но статус не меняется

Автор:  barguzin2 [ 23 май 2016, 21:31 ]
Заголовок сообщения:  Re: Ошибка в api

А чё типа в дампах запросов от клиента и от этого скрипта всё совпадает 1:1? Тут, как минимум, не хватает авторизации и еще непонятно в какие параметры @data что пихается, типа оно само как-нибудь разберется? Это уже на форум перл-программинга надо.

Автор:  Inspire [ 24 май 2016, 12:26 ]
Заголовок сообщения:  Re: Ошибка в api

Если б я знал, как авторизоваться и какие параметры куда вставлять, я бы сюда и не писал
Кусок кода - это просто для примера с ожиданием того, что тут помогут.
Понятно, что он нигде не используется. Потому что он не работает.
Что делать - вообще не понятно. Помощь нужна с нуля

Автор:  Phricker [ 24 май 2016, 12:31 ]
Заголовок сообщения:  Re: Ошибка в api

Вдруг поможет

Автор:  Jimson [ 24 май 2016, 12:35 ]
Заголовок сообщения:  Re: Ошибка в api

@data это просто массив из 4 значений. В скрипте с SOAP работают через загрузку wsdl и, соответственно, вызов методов. В perl один тип данных по сути - скаляр, отсюда и возможность передавать аргументы функции не явно, а массивом.
А вот зачем при вызове $soap->changeContractStatus вместо списка значений передается одна константа '@data' (строка) мне не ведомо.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/