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

[6.0] Динамический веб-сервис
http://forum.bitel.ru/viewtopic.php?f=19&t=8329
Страница 1 из 2

Автор:  Phricker [ 05 авг 2013, 15:14 ]
Заголовок сообщения:  [6.0] Динамический веб-сервис

По примеру из вики переписал в следующий код
Код:
package ru.ellcom.bgbilling.scripts.contract;

import java.util.Date;

import javax.jws.WebService;
 
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.common.BGMessageException;
import ru.bitel.bgbilling.kernel.contract.status.common.service.ContractStatusMonitorService;

import ru.bitel.common.Utils;

@WebService(endpointInterface = "ru.bitel.bgbilling.kernel.contract.status.common.service.ContractStatusMonitorService")
public class ContractStatusMonitorServiceImpl
   extends ru.bitel.bgbilling.kernel.contract.status.server.service.ContractStatusMonitorServiceImpl
   implements ContractStatusMonitorService
{
   @Override
   public void changeContractStatus( int[] cids, int statusId, Date dateFrom, Date dateTo, String comment )
       throws BGException
   {
      System.out.println("tadadadam");
      if( Utils.isBlankString( comment ) )
      {
         throw new BGMessageException( "Введите комментарий" );
      }
      super.changeContractStatus( cids, statusId, dateFrom, dateTo, comment );
   }
}


В конфиг биллинга добавил строку
Код:
dynservice:ru.bitel.bgbilling.kernel.contract.status.common.service.ContractStatusMonitorService=ru.ellcom.bgbilling.scripts.contract.ContractStatusMonitorServiceImpl


Но оно что-то не отрабатывает. Не выдает ошибку, если статус устанавливается без коммента, а так же в логах нет строки "tadadadam".
ЧЯДНТ?

Автор:  Phricker [ 05 авг 2013, 17:15 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

/summon dimOn

Сервер перегружал. Тоже что-то не айс

Автор:  skyb [ 05 авг 2013, 17:19 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

в браузере то открывается?

Автор:  Phricker [ 05 авг 2013, 17:26 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

А должен? О.о

Автор:  skyb [ 05 авг 2013, 18:41 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

ну я когда разбирался, то да,

Автор:  skyb [ 05 авг 2013, 18:41 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

viewtopic.php?p=66759#p66759

Автор:  Phricker [ 05 авг 2013, 23:10 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Да не. Там не вебсервис для обращения извне.
Просто хочу переписать логику изменения статуса договора, и запретить выставлять статус без комментария.

Димон писал пример на вики, но этот пример не пашет

Автор:  Phricker [ 06 авг 2013, 09:33 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Доброго утра :!:

Автор:  stark [ 06 авг 2013, 11:36 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Phricker писал(а):
Доброго утра :!:

Димон в отпуске, обещал вернуться на этой неделе :)

Автор:  Phricker [ 06 авг 2013, 11:57 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Пичалька :(

Автор:  dimOn [ 07 авг 2013, 22:53 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

обратите внимание, что после dynservice итд пишется НЕ интерфейс заменяемый вебсервиса, а именно, как написано:
<модуль>.<интерфейс_сервиса>
то есть, вероятно(!), это должно быть что-то типа:
dynservice:ru.bitel.bgbilling.kernel.contract.status.common.service.ContractStatusMonitorService=blabla
вот так странно, но так надо - класс ищется не по интерфейсу (он неизвестен на тот момент), а во время поиска класса по имени модуля итд.

Автор:  Phricker [ 07 авг 2013, 23:48 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Изображение

Автор:  skyb [ 08 авг 2013, 06:33 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

оппа, а нафига ты ip сервака светишь? )

Автор:  Phricker [ 08 авг 2013, 12:28 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

skyb писал(а):
оппа, а нафига ты ip сервака светишь? )
оппа, а что ты хочешь мой тестовый сломать в локалке?

Автор:  snark [ 09 авг 2013, 03:53 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Phricker писал(а):
оппа, а что ты хочешь мой тестовый сломать в локалке?
оппа, я уже там лазаю )))

Автор:  skyb [ 09 авг 2013, 05:17 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

snark писал(а):
Phricker писал(а):
оппа, а что ты хочешь мой тестовый сломать в локалке?
оппа, я уже там лазаю )))

блин, а я думаю кто меня с админки выкидывает :-D

Автор:  dimOn [ 09 авг 2013, 12:45 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

У меня этот пример работает, проверил. И сообщение показывается и
Цитата:
server 08-09/12:43:51 INFO ["http-bio-/0:0:0:0:0:0:0:0-8080"-exec-4] LoggingPrintStream - tadadadam

настройка именно такая:
Код:
dynservice:ru.bitel.bgbilling.kernel.contract.status.ContractStatusMonitorService=ru.ellcom.bgbilling.scripts.contract.ContractStatusMonitorServiceImpl

Проверьте что класс скомпилирован корректно и сервер точно перезагружен (они кешируются) после компиляции класса и смены в настройках этого параметра.

Автор:  Phricker [ 09 авг 2013, 17:09 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

нипалучаица :cry:

Нашел виртуалку на которой тестил 6.0. Грохнул там базу, по новой скачал с сайта BGBillingServer_6.0_1558.zip, перенес dump.sql
Скачал так же новый клиент с сайта.

Взял конфиг из доки

Создал класс.
Изображение

Прописал в конфиг
Код:
dynservice:ru.bitel.bgbilling.kernel.contract.status.ContractStatusMonitorService=ru.ellcom.bgbilling.scripts.contract.ContractStatusMonitorServiceImpl

Изображение

Перегрузил всё.
Код:
[root@bg60 log]# reboot

Broadcast message from root@bg60
        (/dev/pts/1) at 14:55 ...

The system is going down for reboot NOW!



Захожу в клиент и получаю
Изображение

Автор:  Phricker [ 09 авг 2013, 17:16 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

дебаг клиента пишет
Код:
javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl. It failed with:
   Got http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl while opening stream from http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl.
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:188)
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:170)
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:135)
   at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:275)
   at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:238)
   at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:186)
   at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:111)
   at javax.xml.ws.Service.<init>(Service.java:56)
   at javax.xml.ws.Service.create(Service.java:680)
   at ru.bitel.bgbilling.kernel.container.ws.common.WSClient.getService(WSClient.java:227)
   at ru.bitel.bgbilling.kernel.container.ws.common.WSClient.getPort(WSClient.java:243)
   at ru.bitel.bgbilling.client.common.ClientContext.getPort(ClientContext.java:439)
   at ru.bitel.bgbilling.kernel.contract.status.client.StatusControlPanel$1.actionPerformedImpl(StatusControlPanel.java:71)
   at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:238)
   at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:92)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:555)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:536)
   at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:531)
   at bitel.billing.module.contract.status.ContractSubPanel_Status.setData(ContractSubPanel_Status.java:80)
   at bitel.billing.module.contract.ContractPanel_Parameters$4.run(ContractPanel_Parameters.java:599)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
   at java.awt.EventQueue.access$400(EventQueue.java:81)
   at java.awt.EventQueue$2.run(EventQueue.java:633)
   at java.awt.EventQueue$2.run(EventQueue.java:631)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.IOException: Got http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl while opening stream from http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:857)
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:298)
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:155)
   ... 32 more
Caused by: java.io.FileNotFoundException: http://10.0.6.151:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl
   at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1457)
   at java.net.URL.openStream(URL.java:1010)
   at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:842)
   ... 34 more

Автор:  dimOn [ 10 авг 2013, 16:46 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

а без класса динамического всё работает?

Автор:  dimOn [ 10 авг 2013, 16:48 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

хм... ну очень странно, конечноу...

Автор:  Phricker [ 10 авг 2013, 17:36 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Ну без класса работает конечно. но поставлена задача запретить менять статус без комментария :)

Автор:  Phricker [ 12 авг 2013, 10:56 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Доброе утро Димон
Изображение

Автор:  dimOn [ 12 авг 2013, 13:39 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

ну я не знаю чо сказать) создавайте тему в ХД, будем разбираться, буду ставить ваши сборки с нуля и тестировать. чего ещё делать то

Автор:  Phricker [ 12 авг 2013, 13:42 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Ок. Последний вопрос только. У тебя работает именно пример из первого поста или с вики?

Автор:  dimOn [ 13 авг 2013, 10:33 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Сейчас из первого поста проверял. Из вики тоже работает, т.к. это когда-то писал тоже я по ТЗ клиента. Но я не ставил отдельные разные сборки, может быть что-то сломано или нюансы есть какие-то.

Автор:  Phricker [ 14 авг 2013, 17:31 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Решилось в последнем апдейте :)
Поехали дальше

Автор:  skyb [ 29 авг 2013, 16:42 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

У мну тут вопросы возникли, охото на эти сервисы обращаться с внешней системы. SOAP тут не подходит.
1. А как с секъюрность? я просто не понимаю, в какой момент возможен вызов методов, после того как залогинишься в лк? или что то свое писать нужно для секъюрности?
2. Охото разобраться и сделать запрос из внешней системы, например для создания договора, можно пример?

Автор:  skyb [ 29 авг 2013, 16:50 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

ненашел именно с тем кадром
Изображение

Автор:  Amir [ 29 авг 2013, 17:12 ]
Заголовок сообщения:  Re: [6.0] Динамический веб-сервис

Сейчас каждый раз передается логин/пароль в soap запросе (либо первый раз для http-сессии, насколько помню).
http://wiki.bitel.ru/index.php/PHP_soapClient

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