BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 07:30 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
BGBilling 7.0.890. Есть модуль Сбербанк с идентификатором 12, хочу получить список платежей.
Делаю запрос к методу SberbankService.searchTransactionList по ссылке https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/SberbankService?wsdl, на что возвращается ошибка:
"com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'bgbilling.sberbank_transaction' doesn't exist",
что логично - таблица имеет название sberbank_transaction_12.
Собственно, вопрос: где в запросе необходимо указывать этот идентификатор, чтоб обращаться к правильной таблице? Или может в конфиге модуля что-то где-то не дописано?


Полный код на питоне:
Код:
from zeep import Client
from zeep.transports import Transport
from requests import Session
from requests.auth import HTTPBasicAuth
from datetime import date
url = "https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/SberbankService?wsdl"
session = Session()
session.verify = False
session.auth = HTTPBasicAuth(username='логин', password='пароль')
transport = Transport(session=session)
client = Client(wsdl=url, transport=transport)
dateFrom = date(2017, 6, 1)
print(client.service.searchTransactionList(contractId=-1, period={'dateFrom': dateFrom}))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 10:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/12/SberbankService?wsdl

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 11:22 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
Phricker писал(а):
Код:
https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/12/SberbankService?wsdl

Забыл написать, пробовал, также пишет, что bgbilling.sberbank_transaction doesn't exist


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 12:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Странно, т.к. для InetSessionService я именно так и пользуюсь
Код:
/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/12/InetSessionService

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 12:26 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
Phricker писал(а):
Странно, т.к. для InetSessionService я именно так и пользуюсь
Код:
/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/12/InetSessionService

Проверил для модуля Inet. Действительно, работает. А со сбербанком почему-то нет :?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 20 июн 2017, 15:05 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Перегенерируйте классы для этого сервиса, если есть сгенерированные. В Java при генерации прописывается URL из WSDL.
Или переопределите URL, если возможно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 22 июн 2017, 05:25 
Не в сети
Аватара пользователя

Зарегистрирован: 20 авг 2015, 10:12
Сообщения: 8
Карма: 0
Amir писал(а):
Перегенерируйте классы для этого сервиса, если есть сгенерированные. В Java при генерации прописывается URL из WSDL.
Или переопределите URL, если возможно.

Сгенерированных классов нет вроде. Это в управлении динамическим кодом?
Насчет переопределения не понял, где.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к модулю через SOAP
СообщениеДобавлено: 22 июн 2017, 18:25 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Когда WSDL скачивается WS-клиентом - в ней указан URL, на который потом обращается клиент.
Этот URL не всегда подходит, т.к. может быть проброс через nginx. Или как в случае с биллингом - разные URL для разных модулей.

Биллинг генерирует WSDL при первом обращении, в итоге URL внутри WSDL остается от первого обращения.

Обычно этот URL можно переопределить. В данном случае не очень понятно, можно ли:
https://stackoverflow.com/questions/375 ... ython-zeep

Варианты, если переопределить endpoint address нельзя или лень:
1. Перезагрузить биллинг и сразу обратиться к правильному URL (и больше не обращаться с неправильным URL/модулем).
2. Скачать WSDL (и пару XSD, на которые он ссылается внутри), поправить в нем URL и указать в WS-клиенте путь к этому скаченному WSDL.


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

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


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

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


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

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