
This is a multi-part message in MIME format. --------------060806010209080006030500 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Below is the error I get with HTTP code 500 when I sent a request from a client to REST-API that was left open and the server was restarted. Evidently the session is expired, but why do we return HTTP 500? Is this a server internal error? IMHO one of 400 codes is more appropriate for that error. E.g. 401 (Unauthorized) or 440 (Login Timeout according to http://en.wikipedia.org/wiki/List_of_HTTP_status_codes). *type* Exception report *message* *description* _The server encountered an internal error () that prevented it from fulfilling this request._ *exception* org.jboss.resteasy.spi.UnhandledException: java.lang.IllegalStateException: setAttribute: Session already invalidated org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:245) org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) javax.servlet.http.HttpServlet.service(HttpServlet.java:847) org.ovirt.engine.core.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:80) *root cause* java.lang.IllegalStateException: setAttribute: Session already invalidated org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1289) org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1254) org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130) org.ovirt.engine.api.common.security.auth.SessionUtils.setEngineSessionId(SessionUtils.java:74) org.ovirt.engine.api.common.security.auth.Challenger.executeBasicAuthentication(Challenger.java:194) org.ovirt.engine.api.common.security.auth.Challenger.preProcess(Challenger.java:116) org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247) org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) * English - detected * English * Hebrew * Russian * English * Hebrew * Russian <javascript:void(0);> --------------060806010209080006030500 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <link href="chrome://translator/skin/popup.css" type="text/css" rel="stylesheet"> </head> <body text="#000000" bgcolor="#FFFFFF"> Below is the error I get with HTTP code 500 when I sent a request from a client to REST-API that was left open and the server was restarted.<br> <br> Evidently the session is expired, but why do we return HTTP 500? Is this a server internal error?<br> IMHO one of 400 codes is more appropriate for that error. E.g. 401 (Unauthorized) or 440 (Login Timeout according to <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes">http://en.wikipedia.org/wiki/List_of_HTTP_status_codes</a>).<br> <p><b>type</b> Exception report</p> <p><b>message</b> </p> <p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p> <p><b>exception</b> </p> org.jboss.resteasy.spi.UnhandledException: java.lang.IllegalStateException: setAttribute: Session already invalidated org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:245) org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) javax.servlet.http.HttpServlet.service(HttpServlet.java:847) org.ovirt.engine.core.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:80) <p><b>root cause</b> </p> java.lang.IllegalStateException: setAttribute: Session already invalidated org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1289) org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1254) org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130) org.ovirt.engine.api.common.security.auth.SessionUtils.setEngineSessionId(SessionUtils.java:74) org.ovirt.engine.api.common.security.auth.Challenger.executeBasicAuthentication(Challenger.java:194) org.ovirt.engine.api.common.security.auth.Challenger.preProcess(Challenger.java:116) org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:247) org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) <div style="top: auto; max-width: 400px; max-height: 442px; bottom: 0px; left: auto; right: 0px; display: none;" class="translator-theme-default" id="translator-popup"> <div id="translator-popup-toolbar"> <div id="translator-popup-title"> <div id="translator-popup-source-languages-wrapper"> <ul style="margin-top: -18px;" id="translator-popup-source-languages"> <li id="translator-popup-source-language-auto" code="auto">English - detected</li> <li code="en">English</li> <li code="iw">Hebrew</li> <li code="ru">Russian</li> </ul> <div id="translator-popup-source-languages-scroller"></div> </div> <div id="translator-popup-languages-direction"></div> <div id="translator-popup-target-languages-wrapper"> <ul style="margin-top: -36px;" id="translator-popup-target-languages"> <li code="en">English</li> <li code="iw">Hebrew</li> <li code="ru">Russian</li> </ul> <div id="translator-popup-target-languages-scroller"></div> </div> </div> <div class="translator-popup-toolbar-spring"></div> <a title="Copy translated text to clipboard" href="javascript:void(0);" id="translator-popup-button-copy"></a></div> <div style="max-height: 392px; opacity: 1;" class="translator-message-type-normal" id="translator-popup-message"></div> <div style="display: none;" id="translator-popup-notice"></div> <textarea style="display: none;" id="translator-popup-textarea"></textarea></div> <div style="bottom: 0px; left: auto; right: 0px; top: auto; display: none;" title="Translating..." class="translator-theme-default" id="translator-popup-loading"></div> </body> </html> --------------060806010209080006030500--