BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 11:49

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: WebService
СообщениеДобавлено: 21 мар 2013, 18:40 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Пытаюсь разобраться с WebService
Задача стандартная интеграция с внешней системой.
Нашел пример: http://wiki.bgbilling.ru/index.php/PHP_soapClient, и про динамические веб-сервисы из wiki

Вопросы сразу возникли такие:

1. Каким образом все эти примеры кода попадают в систему? Я должен сам их написать, скомпилить, положить в jar и кинуть в CP? или судя по http://bgbilling.ru/v5.2/doc/ch02s02.html - они сами каким-то образом попадут в класспас....

2. какие дополнительные настройки надо сделать в системе чтобы этот пример заработал? http://wiki.bgbilling.ru/index.php/PHP_soapClient

Я сделал следующее: перенес пример из PHP_soapClient в классы, скомпилировал и положил в CP. добавил api.enable=true, вызываю

http://бгбиллинг:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?wsdl - в ответ 404

так же код вставил в http://bgbilling.ru/v5.2/doc/ch02s02.html, и там сохранил+скомпилил - ничего не поменялось.


Как же заставить взлететь этот пример?


Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 21 мар 2013, 19:30 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
конкретно в этом примере из wiki: Сервис - Автоматизация - Управление динамическим кодом и туда переносите api.ru.customservice.bgbilling.service.impl.SomeServiceImpl и api.ru.customservice.bgbilling.bean.SomeData. делал по примеру созданного в хелпдеске, в тонкие материи не вникал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 11:55 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Ок. В папке $BGBILLING_HOME/dyn делаю структуру api/ru/customservice/bgbilling/service/impl и создаю SomeServiceImpl.java , api/ru/customservice/bgbilling/bean и SomeData.java. Через "управление динамическим кодом" делаю "Сохранить и скомпилировать". Добавляю в конфигурацию сервера api.enable=true перезагружаю сервер.

Открываю в браузере http://бгбиллинг:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?wsdl и в ответ опять 404.
Т.е. такое ощущение что 404 из-за того, что /api/ не прописан в сервере. Если бы была ошибка где-то в коде - по идее 500-я должна была приезжать.

Комрады - подскажите какие еще надо сделать настройки чтобы завести пример?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:12 
Я делал по аналогии с viewtopic.php?t=7254&f=19#p56735

Правда я не использовал дин. код, запихнул все в библиотеку, хотя с дин кодом тоже должно работать.

Там все до безобразия просто, даже не знаю что там может не получиться.

Вы сервер биллинга перезапускали?


Вернуться к началу
  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:20 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Да, перезапускал.
Меня настораживает 404-я ошибка.
Это значит что
Код:
api.enable=true
не отработала, и такого пути
Код:
bgbilling/api/
нет...

Как проверить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:35 
lacost писал(а):
Да, перезапускал.
Меня настораживает 404-я ошибка.
Это значит что
Код:
api.enable=true
не отработала, и такого пути
Код:
bgbilling/api/
нет...

Как проверить?

Ошибка 404 будет в случае если вы ошиблись в URL http://бгбиллинг:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?wsdl
А не обязательно что
Код:
bgbilling/api/
нет.


Вернуться к началу
  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:40 
Я проверил http://wiki.bgbilling.ru/index.php/PHP_soapClient

Все заработало.
http://X.X.X.X:8080/bgbilling/api/ru.cu ... rvice?wsdl
Возвращает:
Код:
<?xml version="1.0" encoding="UTF-8"?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.3-b01-. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.3-b01-. --><definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="customservice" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="customservice" name="SomeServiceImplService">
<types>
<xsd:schema>
<xsd:import namespace="customservice" schemaLocation="http://X.X.X.X:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?xsd=1"></xsd:import>
</xsd:schema>
</types>
<message name="getSomeData">
<part name="parameters" element="tns:getSomeData"></part>
</message>
<message name="getSomeDataResponse">
<part name="parameters" element="tns:getSomeDataResponse"></part>
</message>
<portType name="SomeServiceImpl">
<operation name="getSomeData">
<input wsam:Action="customservice/SomeServiceImpl/getSomeDataRequest" message="tns:getSomeData"></input>
<output wsam:Action="customservice/SomeServiceImpl/getSomeDataResponse" message="tns:getSomeDataResponse"></output>
</operation>
</portType>
<binding name="SomeServiceImplPortBinding" type="tns:SomeServiceImpl">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding>
<operation name="getSomeData">
<soap:operation soapAction=""></soap:operation>
<input>
<soap:body use="literal"></soap:body>
</input>
<output>
<soap:body use="literal"></soap:body>
</output>
</operation>
</binding>
<service name="SomeServiceImplService">
<port name="SomeServiceImplPort" binding="tns:SomeServiceImplPortBinding">
<soap:address location="http://X.X.X.X:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService"></soap:address>
</port>
</service>
</definitions>


Вернуться к началу
  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:41 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
версии биллинга свежие?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:46 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
в данном случае:

/bgbilling/ - контекст данного приложения.

/api/ - модуль обрабатывающий конкретный запрос.

вот к примеру запуск

Код:
http://бгбиллинг:8080/bgbilling/rentsoft_api/15
не выдает 404 а просто какое-то сообщение о некорректности параметров.

а
Код:
http://бгбиллинг:8080/bgbilling/api/ru.customservice.bgbilling.service/SomeService?wsdl
выдает 404. Это значит что такой путь /api/ ни на что не замаплен.

Все же хочется услышать ответ от тех - кто разбирается в этих материях...

В принципе можно где-то посмотреть какие опции задействованы в текущей конфигурации приложения?

На сколько я помню - в томкате было приложение admin в котором тоже можно было посмотреть все контексты и маппинги...

Версии
Клиент: вер. 5.2 сборка 1074 от 23.11.2012 13:52:12
Сервер: вер. 5.2 сборка 1352 от 27.11.2012 16:51:47

Обновится?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:54 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
в логах чисто?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 12:59 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
в файле webroot/WEB-INF/web.xml есть
Код:
<servlet>
      <servlet-name>apiexecuter</servlet-name>
      <servlet-class>ru.bitel.bgbilling.server.api.ApiExecuter</servlet-class>
   </servlet>
   <servlet>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WebService
СообщениеДобавлено: 22 мар 2013, 13:05 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Цитата:
добавил в web.xml сервлет.
пока ничего не изменилось


а его не было что ли?

тогда нужен и мапинг сервлета

Код:
<servlet>
      <servlet-name>apiexecuter</servlet-name>
      <servlet-class>ru.bitel.bgbilling.server.api.ApiExecuter</servlet-class>
   </servlet>
   <servlet>


а лучше возьмите оригинальный web.xml из архива сервера с ftp


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

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


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

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


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

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