forum.bitel.ru http://forum.bitel.ru/ |
|
Обращение к модулю через SOAP http://forum.bitel.ru/viewtopic.php?f=19&t=12505 |
Страница 1 из 1 |
Автор: | Iriskin0 [ 20 июн 2017, 07:30 ] |
Заголовок сообщения: | Обращение к модулю через SOAP |
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})) |
Автор: | Phricker [ 20 июн 2017, 10:00 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Код: https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/12/SberbankService?wsdl
|
Автор: | Iriskin0 [ 20 июн 2017, 11:22 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Phricker писал(а): Код: https://сервербиллинга/bgbilling/executer/ru.bitel.bgbilling.modules.sberbank/12/SberbankService?wsdl Забыл написать, пробовал, также пишет, что bgbilling.sberbank_transaction doesn't exist |
Автор: | Phricker [ 20 июн 2017, 12:21 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Странно, т.к. для InetSessionService я именно так и пользуюсь Код: /bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/12/InetSessionService
|
Автор: | Iriskin0 [ 20 июн 2017, 12:26 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Phricker писал(а): Странно, т.к. для InetSessionService я именно так и пользуюсь Код: /bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/12/InetSessionService Проверил для модуля Inet. Действительно, работает. А со сбербанком почему-то нет ![]() |
Автор: | Amir [ 20 июн 2017, 15:05 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Перегенерируйте классы для этого сервиса, если есть сгенерированные. В Java при генерации прописывается URL из WSDL. Или переопределите URL, если возможно. |
Автор: | Iriskin0 [ 22 июн 2017, 05:25 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Amir писал(а): Перегенерируйте классы для этого сервиса, если есть сгенерированные. В Java при генерации прописывается URL из WSDL. Или переопределите URL, если возможно. Сгенерированных классов нет вроде. Это в управлении динамическим кодом? Насчет переопределения не понял, где. |
Автор: | Amir [ 22 июн 2017, 18:25 ] |
Заголовок сообщения: | Re: Обращение к модулю через SOAP |
Когда 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. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |