forum.bitel.ru http://forum.bitel.ru/ |
|
Получение ip адреса в AbstractSevice http://forum.bitel.ru/viewtopic.php?f=19&t=11123 |
Страница 1 из 1 |
Автор: | wellprog [ 25 ноя 2015, 18:38 ] |
Заголовок сообщения: | Получение ip адреса в AbstractSevice |
Добрый день. Подскажите пожалуйста как получить ip адрес клиента при обращении к кастомному веб сервису. Объект MessageContext присутствует в классе JaxWsHandler (который судя по трейсу вызывается до запуска моего сервиса (и как я понимаю стартует мой класс)), но он отсутствует в самом объекте AbstractService. Спасибо заранее. |
Автор: | Amir [ 25 ноя 2015, 19:04 ] |
Заголовок сообщения: | Re: Получение ip адреса в AbstractSevice |
Попробуйте указать в вашем веб-сервисе поле Код: @Resource
private WebServiceContext wsc; ... ... ... wsc.getMessageContext(); |
Автор: | wellprog [ 25 ноя 2015, 19:45 ] |
Заголовок сообщения: | Re: Получение ip адреса в AbstractSevice |
К сожалению такое не проходит. Сервер выбрасывает 500 ошибку. Вот стек трейс, может он чем то поможет...... Код: <?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"> <faultcode>S:Server</faultcode> <faultstring>Name [WebServiceContext] is not bound in this Context. Unable to find [WebServiceContext].</faultstring> <detail> <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" class="javax.naming.NameNotFoundException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false"> <message>Name [WebServiceContext] is not bound in this Context. Unable to find [WebServiceContext].</message> <ns2:stackTrace> <ns2:frame class="org.apache.naming.NamingContext" file="NamingContext.java" line="819" method="lookup"/> <ns2:frame class="org.apache.naming.NamingContext" file="NamingContext.java" line="167" method="lookup"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.resource.ResourceManager" file="ResourceManager.java" line="186" method="inject"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.resource.ResourceManager" file="ResourceManager.java" line="105" method="inject"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.managed.ManagedBeanInfo" file="ManagedBeanInfo.java" line="83" method="postConstruct"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo" file="ServiceInfo.java" line="154" method="postConstruct"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo" file="ServiceInfo.java" line="97" method="invoke"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler" file="AbstractJaxWsHandler.java" line="195" method="invoke0"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler" file="AbstractJaxWsHandler.java" line="166" method="invoke"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1" file="AbstractJaxWsHandler.java" line="335" method="invoke"/> <ns2:frame class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java" line="150" method="invoke"/> <ns2:frame class="com.sun.xml.ws.server.sei.EndpointMethodHandler" file="EndpointMethodHandler.java" line="261" method="invoke"/> <ns2:frame class="com.sun.xml.ws.server.sei.SEIInvokerTube" file="SEIInvokerTube.java" line="100" method="processRequest"/> <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="641" method="__doRun"/> <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="600" method="_doRun"/> <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="585" method="doRun"/> <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="482" method="runSync"/> <ns2:frame class="com.sun.xml.ws.server.WSEndpointImpl$2" file="WSEndpointImpl.java" line="314" method="process"/> <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit" file="HttpAdapter.java" line="608" method="handle"/> <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter" file="HttpAdapter.java" line="259" method="handle"/> <ns2:frame class="com.sun.xml.ws.transport.http.servlet.ServletAdapter" file="ServletAdapter.java" line="162" method="handle"/> <ns2:frame class="ru.bitel.bgbilling.kernel.container.ws.server.JaxWSAdapter" file="JaxWSAdapter.java" line="288" method="handle"/> <ns2:frame class="ru.bitel.bgbilling.server.api.ApiExecuter" file="ApiExecuter.java" line="48" method="doPost"/> <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="646" method="service"/> <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="727" method="service"/> <ns2:frame class="org.apache.catalina.core.ApplicationFilterChain" file="ApplicationFilterChain.java" line="303" method="internalDoFilter"/> <ns2:frame class="org.apache.catalina.core.ApplicationFilterChain" file="ApplicationFilterChain.java" line="208" method="doFilter"/> <ns2:frame class="org.apache.catalina.core.StandardWrapperValve" file="StandardWrapperValve.java" line="220" method="invoke"/> <ns2:frame class="org.apache.catalina.core.StandardContextValve" file="StandardContextValve.java" line="122" method="invoke"/> <ns2:frame class="org.apache.catalina.authenticator.AuthenticatorBase" file="AuthenticatorBase.java" line="504" method="invoke"/> <ns2:frame class="org.apache.catalina.valves.AccessLogValve" file="AccessLogValve.java" line="950" method="invoke"/> <ns2:frame class="org.apache.catalina.core.StandardHostValve" file="StandardHostValve.java" line="170" method="invoke"/> <ns2:frame class="org.apache.catalina.valves.ErrorReportValve" file="ErrorReportValve.java" line="103" method="invoke"/> <ns2:frame class="org.apache.catalina.core.StandardEngineValve" file="StandardEngineValve.java" line="116" method="invoke"/> <ns2:frame class="org.apache.catalina.connector.CoyoteAdapter" file="CoyoteAdapter.java" line="421" method="service"/> <ns2:frame class="org.apache.coyote.http11.AbstractHttp11Processor" file="AbstractHttp11Processor.java" line="1074" method="process"/> <ns2:frame class="org.apache.coyote.AbstractProtocol$AbstractConnectionHandler" file="AbstractProtocol.java" line="611" method="process"/> <ns2:frame class="org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor" file="JIoEndpoint.java" line="314" method="run"/> <ns2:frame class="java.util.concurrent.ThreadPoolExecutor" file="ThreadPoolExecutor.java" line="1142" method="runWorker"/> <ns2:frame class="java.util.concurrent.ThreadPoolExecutor$Worker" file="ThreadPoolExecutor.java" line="617" method="run"/> <ns2:frame class="org.apache.tomcat.util.threads.TaskThread$WrappingRunnable" file="TaskThread.java" line="61" method="run"/> <ns2:frame class="java.lang.Thread" file="Thread.java" line="745" method="run"/> </ns2:stackTrace> </ns2:exception> </detail> </S:Fault> </S:Body> </S:Envelope> |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |