forum.bitel.ru http://forum.bitel.ru/ |
|
DeviceInterfaceService http://forum.bitel.ru/viewtopic.php?f=44&t=11044 |
Страница 1 из 1 |
Автор: | Arkanar [ 28 окт 2015, 14:09 ] |
Заголовок сообщения: | DeviceInterfaceService |
При написание dynservice-а возникла следующая проблема. После переопределения стандартного сервиса DeviceInterfaceServiceImpl, биллинг начинает выдавать exeption при вызове метода devicePortList. при этом данный метод не переопределялся. В настройках добавил следующую строку Код: dynservice:ru.bitel.oss.systems.inventory.resource.DeviceInterfaceService=ru.dsi.oss.systems.inventory.resource.common.DeviceInterfaceServiceImpl Используемая версия билинга 5.2 jdk 1.6 . Код обертки Код: import javax.jws.WebService; import org.apache.log4j.Logger; import ru.bitel.bgbilling.common.BGException; import ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService; import ru.bitel.oss.systems.inventory.resource.common.bean.DeviceInterface; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; /** * Переопределение класса обработчика запросов на обновление/добавление порта */ @WebService(endpointInterface = "ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService") public class DeviceInterfaceServiceImpl extends ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl implements DeviceInterfaceService { private static final Logger logger = Logger.getLogger(DeviceInterfaceServiceImpl.class); @Override public void devicePortUpdate(DeviceInterface port) throws BGException { logger.debug("devicePortUpdate MID: " + this.moduleId); try { /** * Проверить наличие интерфейса с таким title. * Если интерфейс найден, запретить его создавать. */ Statement pst = this.getSlaveConnection().createStatement(); String sql = "SELECT 1 FROM inv_device_port_" + this.moduleId + " WHERE title='" + port.getTitle() + "'"; logger.debug("devicePortUpdate SQL: " + sql); ResultSet result = pst.executeQuery(sql); if (result.first()) { throw new BGException("Вы не можете зарезервировать интерфейс " + port.getSubscriberTitle() + ", так как такой интерфейс уже существует."); } super.devicePortUpdate(port); } catch (SQLException e) { logger.error(e.getMessage()); throw new BGException(e); } } } Ошибка следующего содержания "javax.xml.ws.soap.SOAPFaultExeption:java.lang.NullPointerExeption" Логи Код: java.lang.NullPointerException
at ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl.devicePortList(DeviceInterfaceServiceImpl.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:102) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:192) 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:312) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:306) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:304) 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:389) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) |
Автор: | Cromeshnic [ 30 окт 2015, 08:49 ] |
Заголовок сообщения: | Re: DeviceInterfaceService |
Апну темку, это мы ![]() |
Автор: | Cromeshnic [ 30 окт 2015, 15:54 ] |
Заголовок сообщения: | Re: DeviceInterfaceService |
Похоже не был переопределён метод init |
Автор: | Arkanar [ 02 ноя 2015, 08:00 ] |
Заголовок сообщения: | Re: DeviceInterfaceService |
Да, действительно, требовалось переопределить init Код: @Override
@PostConstruct protected void init() { super.init(); } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |