BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 06:32 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
Пытаюсь обернуть InetServService, а именно надо изменить inetServTree:

dynservice:ru.bitel.bgbilling.modules.inet.api.InetServService=ru.iks.dyn.myInetServServiceImpl

Код:
@WebService(endpointInterface = "ru.bitel.bgbilling.modules.inet.api.common.service.InetServService")
public class myInetServServiceImpl
   extends ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl
   implements InetServService
{
   @Override
    public InetServ inetServTree(int contractId)
        throws BGException
    {
      return super.inetServTree(contractId);
    }
}


Получаю ошибку в клиенте:

Код:
javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
   at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
   at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:134)
   at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:123)
   at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
   at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144)
   at com.sun.proxy.$Proxy36.inetServTree(Unknown Source)
   at ru.bitel.bgbilling.modules.inet.api.client.contract.InetServPanel$2.actionPerformedImpl(InetServPanel.java:227)
   at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:237)
   at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:91)
   at ru.bitel.bgbilling.modules.inet.api.client.ServicePropertiesPanel.fireAction(ServicePropertiesPanel.java:76)
   at ru.bitel.bgbilling.modules.inet.api.client.ServicePropertiesPanel.setData(ServicePropertiesPanel.java:36)
   at bitel.billing.module.contract.ContractSubPanel_Module.setData(ContractSubPanel_Module.java:145)
   at bitel.billing.module.contract.ContractPanel_Parameters$5.run(ContractPanel_Parameters.java:628)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
   at ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.inetServTree(InetServServiceImpl.java:177)
   at ru.iks.dyn.myInetServServiceImpl.inetServTree(myInetServServiceImpl.java:50)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101)
   at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:244)
   at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.access$1(JaxWsHandler.java:1)
   at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler$2.run(JaxWsHandler.java:336)
   at java.security.AccessController.doPrivileged(Native Method)
   at javax.security.auth.Subject.doAs(Subject.java:415)
   at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:330)
   at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:356)
   at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
   at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
   at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
   at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
   at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
   at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
   at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
   at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
   at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
   at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
   at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
   at ru.bitel.common.server.JaxWSAdapter.handle(JaxWSAdapter.java:388)
   at bitel.billing.server.Executer.doPost(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)


Научите, как правильно сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Интересно, я аж загуглил.

Цитата:
public Method[] getDeclaredMethods()
throws SecurityException
Returns an array of Method objects reflecting all the methods declared by the class or interface represented by this Class object. This includes public, protected, default (package) access, and private methods, but excludes inherited methods.


Т.е. при инициализации сервиса не был вызван метод init() родительского класса, т.к. он ищет его только у конечного класса.


Последний раз редактировалось Cromeshnic 24 июн 2014, 07:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Короче, добавьте в ваш класс такой метод:

Код:
@PostConstruct
  void init()
    throws BGException
  {
    super.init();
  }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:33 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
Насколько я смог разобраться, там проблема в том, что в InetServServiceImpl не инициализируются куча объектов, которые в init().
А init() самому вызывать не получается, т.к. он private.
И еще там какой-то @PostConstruct, который я вообще не знаю что это.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:34 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
Пока писал ответ, вы уже успели свой написать.
Ну собственно как я и написал, private:
init() is not public in ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl; cannot be accessed from outside package /usr/local/bg/BGBillingServer/dyn/ru/iks/dyn/myInetServServiceImpl.java


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
щиит, ну тогда похоже только копипастить их метод :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Или, как вариант, переместить свой класс в тот же package, чтобы родительский init стал доступен:

ru.bitel.bgbilling.modules.inet.api.server.service.myInetServServiceImpl


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:40 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
Уважаемые разработчики,
а нельзя сделать init public'ом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 07:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Достаточно protected, на самом деле


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 июн 2014, 12:06 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Исправлено, в следующем обновлении будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 25 июн 2014, 06:56 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
Спасибо! Работает.
А нельзя-ли еще до getTitlePattern доступ дать?

P.S.
И нельзя-ли вообще отказаться от private в пользу protected?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 25 июн 2014, 09:42 
Не в сети
Клиент

Зарегистрирован: 03 авг 2010, 15:18
Сообщения: 357
Откуда: Камчатка
Карма: 8
getTitlePattern меня не спасёт, так что можете ничего не менять.
Хотел в клиенте выводить закрытие на текущий момент сервисы серым цветом, но это можно только на половину, т.е. можно покрасить только поля *title*, остальное всё-равно будет как обычно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 10 май 2016, 17:12 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Уважаемые разработчики!
А можно тоже самое сделать с ru.bitel.bgbilling.kernel.tariff.option.server.service.TariffOptionServiceImpl?

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 11 май 2016, 12:03 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Версия 6.2

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 13 май 2016, 17:18 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
В 7.0 тоже самое!
Код:
@PostConstruct
  void init()
    throws BGException
  {

Сделайте
Код:
@PostConstruct
  protected void init()
    throws BGException
  {

Версия 6.2 и 7.0 - Пожалуйста!

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 16 май 2016, 15:27 
Не в сети
Клиент

Зарегистрирован: 05 ноя 2009, 10:14
Сообщения: 160
Карма: 0
Ну тогда уж и 5.2 до кучи

_________________
Сервер: вер. 7.0.1277 / 23.10.2017 21:20:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_101
BGCRM v 3.0 build 1209 from 18.10.2017 06:00:42


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 17 май 2016, 19:52 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Разработчики, ответьте пожалуйста!

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 май 2016, 14:45 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
nikav80 писал(а):
Уважаемые разработчики!
А можно тоже самое сделать с ru.bitel.bgbilling.kernel.tariff.option.server.service.TariffOptionServiceImpl?


Исправлено. Будет в следующем обновлении.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.1] WebService InetServService inetServTree
СообщениеДобавлено: 24 май 2016, 14:54 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Спасибо! :D

_________________
Версия 6.2


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

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


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

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


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

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