День добрый, господа.
Такой вопрос.
В custom api написал свой вебсервис который что-то возвращает.
Если же не получается это что-то вернуть - возвращается исключение.
Код:
if (contractId == 0) {
throw new UnauthorizedException();
}
Код:
public class UnauthorizedException extends Exception {
public UnauthorizedException() {
super("Ошибка авторизации. Проверьте правильность введенного номера и пароля");
}
}
Собственно всё работает, и если contractId == 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>Ошибка авторизации. Проверьте правильность введенного номера и пароля</faultstring>
<detail>
<ns2:UnauthorizedException xmlns:ns2="http://mobile.ellco.ru/">
<message>Ошибка авторизации. Проверьте правильность введенного номера и пароля</message>
</ns2:UnauthorizedException>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>
Проблема в том, что в server.log и server.error.log полнится этими сообщениями.
Код:
09-08/07:31:56 ERROR [http-bio-0.0.0.0-8080-exec-4] AbstractJaxWsHandler -
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke0(AbstractJaxWsHandler.java:229)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:200)
at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:375)
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.bgbilling.kernel.container.ws.server.JaxWSAdapter.handle(JaxWSAdapter.java:290)
at ru.bitel.bgbilling.server.api.CustomApiExecutor.doPost(CustomApiExecutor.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: api.ru.ellco.mobile.impl.exception.UnauthorizedException: Ошибка авторизации. Проверьте правильность введенного номера и пароля
at api.ru.ellco.mobile.impl.MobileServiceImpl.auth(MobileServiceImpl.java:63)
... 40 more
Можно ли как то от этого избавиться?