Error page, catching Exception

Hello.
When my page throws Exception, i redirect it to error page.
I have this code in web.xml:
   <error-page>
      <exception-type>java.lang.Exception</exception-type>
      <location>/error.jsp</location>
   </error-page>      Everything is ok.
But i want to write this exception to my log. I want do this in error page.
So my question is:
how can I get this exception on error page?

Jsp' directive in /error.jsp
<%@page isErrorPage="true" %>
then variable "exeption" is availible in jsp, like this
<%
StackTraceElement[] st = exception.getStackTrace();
%>

Similar Messages

  • How to make a 500 error page with exception stacktrace

    Hi Guys ,
    The weblogic default 500 error page is not showing the exception stacktrace. we try to build a customer error page to display trace just like tomcat .
    By pointing 500 error to myerror.jsp in web.xml ,we are able to replace defaut page. but still can't get the trace by using ex.printStacktrace() , it look like weblogic swallow the stacktrace and hijack the exception object.
    Any idea ?
    KY

    anyone ?

  • Handle exception on server side and display a customized jsp error page

    Hi,
    I am developing a java/j2EE web application using servlet, jsp, ejb3 with JBOSS and ECLIPSE.
    Two cases can occur on the server side :
    1) either I have not an expected result in a method and in this case I want to display an error page (a JSP page I suppose) with a personnalized error message
    2) or I have an exception thrown and I want to display the exception message in the former JSP page
    I don't know how to cope with this problem of personnalized error message (or the message of a thrown exception) with a JSP page.
    Does anybody can help me ? Thank you
    Edited by: xflamant on Jun 20, 2009 10:51 AM

    For the case of an unknown Error, simply use a default error page.
    The redirection to this page can be accomplished by inserting folowing code into your web.xml:
         <error-page>
            <exception-type>java.lang.Throwable</exception-type>
            <location>/WEB-INF/jsp/error.jsp</location>       
        </error-page>Known exception can be caught via a try-catch block.
    Then simply dispatch to the page you want displayed an add an attribute containing the error message to the response object.
    This attribute can then be used in the target page to diplay the error.

  • ClientAbortError on 404 error page

    Hi
    I have a custom 404 JSP page that gets loaded every time resource is not found.
    I tested this on our development server and it was working great. After redeploying to production server
    I am getting the following error
    [#|2004-06-24T09:13:33.186-0400|SEVERE|sun-appserver-pe8.0|javax.enterprise.system.container.web|_ThreadID=16;|org.apache.catalina.core.StandardHostValve@128ed5f: Exception Processing ErrorPage[errorCode=404, location=/error404.jsp]
    ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
    The dev and production servers are the same hardware and software configuration and the web.xml has the following entry in it.
         <error-page>
         <error-code>404</error-code>
         <location>/error404.jsp</location>
         </error-page>
    The exception now gets thrown on any and every page request regardless if it is found or not.
    The weird thing about it that it does not affect anything else.
    I am stopmed on this one .... Please help

    What server and version are you using? Have you tried rebooting the appserver to see if that clears your problem?

  • Modify the messages in error page.jsp

    Hi All,
    I am using error page for exception handling and using the statement
    LOG.error("dpm Exception", exception);
    But due to this my performance of the program is getting degraded.
    For example if the user is not authenticated to view a particular peice if info and there are many users of such category then the exception keeps on showing which covers all the logs and is too big.
    Is there any way by which i can limit the exceptions to 2-3 lines .
    Please help.
    Thanks In Advance
    MB

    newbie_java123 wrote:
    Is there any way by which i can limit the exceptions to 2-3 lines .try custom exception..
    it may help you..
    [link 1|http://www.seasite.niu.edu/cs580java/testexception.htm]

  • Problems with error-page in web.xml and page caching

    Having a few problems with error pages and web.xml with browsers caching the error pages and strange errors coming out of weblogic.servlet.intenal.WebAppServletContext
    I'm trying to set a web app up so that all http errors and all exceptions are routed thruogh predefined resources. For now, I'm simply send 400 errors to 400.html and the ServletException, IOException and RuntimeException to respective html pages.
    What I'm finding is that the error codes work fine but the exceptions are only be routed to the correct error page for the first call to the servlet after server restart.
    So for example, I have my servlet throwing a ServletException as a test case. The weblogic server log shows that ServletException is thrown, and the correct error page for ServletExceptions is shown.
    If I change the Servlet code to throw IOException in place of SevletException, the weblogic.log shows that IOExceptyion is being thrown (so the servlet has deployed successfully), however the Servletxception error page is shown on the browser.
    I'm using IE6 and I've changed the setting such that a new page is requested every time using the tools-internet options-temp internet files-settings option to "check for new versions of stored pages: Every visit to the page".
    Despite this, the servlet exception error page still appears.
    If you clear the cache from the temp intenet files->delete files IE option, the correct errror page will be shown so it appears that the browser cache is being used after all.
    everytime I delete the temp intenet files I get the correct error page on the first request after but then not after that.
    I have implemented the service method for this test to throw the exceptions - does this make a differecne?
    As a test, I have moved the imlpementation to the doGet method instead bu I now get a strange eror from weblogic comlpaining about an arrayOutOfBoundsException because eror codes in the web.xml are not supported! - see error above.
    Any help is appreciated

    After further investigation: -
    There are no problems with error pages based on error codes, only error exceptions.
    As a test case, I have a service method in a servlet throwing either one of the three exception types that servlets can throw (Runtime, Servlet & IO) the following rules apply. The exception to be thrown is hardcoded and is changed and the web app rebuilt each time. The correct web.xml has been deployed to the app server (checked through console). the webapp is being redeployed correctly - this can be seen in the weblogic log, where the correct exception is reported.
    I am using WLS 8.1, Servlet 2.3, JDK 1.4.1_02
    In all cases, the weblogic log reports that the servlet is throwing the exception as expected.
    Despite having set error-page for exception javax.servlet.ServletException, the exceptions are diverted to the error page that has been set up for http error code 500
    The error page for ServletException is therefore never reached.
    I have the browser set to request pages every time it is asked.
    Once the servlet has thrown an IOException, the only way to get the browser to report an IO or Runtime exception error-page is to clear the browser cache. Restarting the server has no effect.
    Once the servlet has responded with ANY exception, it is not possible to get it to report a ServletException (which is incorrectly reported as a 500 anyway) unless the cache is cleared. Restarting the server has no effect.
    In the case where the servlet throws ServletException, it has no root exception. The servlet 2.3 spec states that if ServletException is thrown but cannot be found in the error pages, the root excpetion will be extracted and the error page list traversed again. Knowing that the RuntimeException error page is correct shown when RuntimeException is throwm, I have nested this inside the ServletException, however error page for http error 500 is still shown.
    I don't believe this is a WLS 8.1 problem, as the console shows that the correct exception is thrown each time. this is backed up by the fact that the correct exception page is thrown when the cache is cleared regardless of what exception was previousdly thrown by the servlet. This excludes ServletException which is always incorrectly thrown as a 500.

  • Why jsp throw exception , but error page can' t catch it .

     

    I use japanese Unix.
              so must add follow
              <%@ page contentType="text/html;charset=SJIS" %>
              then error happen
              Jim Clark wrote:
              > I'm not sure what the problem is, but the following works for me in WL5.1
              > SP3 on NT:
              >
              > <%@ page errorPage="testerror.jsp" %>
              > <h1>hello</h1>
              > <%
              > String yes = "yes";
              > if ( yes.equals("yes")) throw new IllegalStateException("yes");
              > %>
              >
              > The page that shows is my testerror.jsp. Double check your page directive
              > specifying your error page.
              >
              > --
              > Jim Clark
              > Idea Integration
              > http://www.idea.com
              >
              > "yang" <[email protected]> wrote in message news:[email protected]...
              > > I use error page , but jsp have exception . error page not catch it.
              > >
              > > throw follow exception only
              > >
              > > ? 6 19 19:01:03 JST 2000:<E> <ServletContext-General> Servlet failed
              > > with Exception
              > >
              > > java.lang.IllegalStateException: Attempt to change ContentType after
              > > calling getWriter() (cannot cha
              > > nge charset from 'SJIS' to 'null')
              > > at java.lang.Throwable.fillInStackTrace(Native Method)
              > > at java.lang.Throwable.fillInStackTrace(Compiled Code)
              > > at java.lang.Throwable.<init>(Compiled Code)
              > > at java.lang.Exception.<init>(Compiled Code)
              > > at java.lang.RuntimeException.<init>(Compiled Code)
              > > at java.lang.IllegalStateException.<init>(Compiled Code)
              > > at
              > > weblogic.servlet.internal.ServletResponseImpl.setEncoding(Compiled Code)
              > >
              > > at
              > > weblogic.servlet.internal.ServletResponseImpl.setContentType(Compiled
              > > Code)
              > > at
              > > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              > > at
              > > weblogic.servlet.internal.RequestDispatcherImpl.forward(Compiled Code)
              > > at weblogic.servlet.jsp.PageContextImpl.forward(Compiled Code)
              > > at
              > > jsp_servlet._aeonmarket._loan._W_95_AEL032._jspService(Compiled Code)
              > > at weblogic.servlet.jsp.JspBase.service(Compiled Code)
              > > at
              > > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              > > at
              > > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
              > > Code)
              > > at
              > > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
              > > Code)
              > > at
              > > weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
              > > Code)
              > > at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled
              > > Code)
              > > at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > >
              

  • Catch Mapping Errors on the Exception Hander in a BPM

    Hi All
    I am struggling to catch maping error in the Exception Handler, so my question is that, is it possible the catch mapping errors in the Exception Handler using BMP
    Thanks
    Yonela

    Hello Yonela!
    In the Transformation Step properties you can specify the exception handler in case the step fail. For more information, please check the help pages below
    Events:
    http://help.sap.com/saphelp_nw72/helpdata/en/76/9856e633464052a47270ea6c49640a/content.htm
    Modeling Exceptions and Exceptions Handling:
    http://help.sap.com/saphelp_nw72/helpdata/en/54/bf98c82cd84614a85cfda25d70b175/content.htm
    Best regards,
    Lucas Santos

  • Problem accessing exception object in jsp error page - Apache Tomcat 5.0.25

    Hi all,
    I'm thoroughly confused and need some help. I've deployed a very simple web application in Apache Tomcat 5.0.25 to test exception handling - errortest.jsp and error.jsp. errortest.jsp throws a divide by zero exception if executed with default values in text fields.
    When I put the directive IsErrorPage="true" in error.jsp i get a HTTP 500 error when error.jsp is accessed. If I remove it error.jsp is displayed but I cant access the exception object - if I try to I get an exception below:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 5 in the jsp file: /error.jsp
    Generated servlet error:
    [javac] Compiling 1 source file
    E:\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\mywebapp\org\apache\jsp\error_jsp.java:46: cannot resolve symbol
    symbol : variable exception
    location: class org.apache.jsp.error_jsp
    out.print(exception.getMessage());
    ^
    1 error
    Below is the code for the two jsp pages:
    errortest.jsp:
    <%@ page errorPage="error.jsp" %>
    <html>
    <head><title>Error test</title></head>
    <body>     
         <form action="errortest.jsp" method="post">
         Enter first number:<input type="text" name="first" value="5"/><br>
         Enter second number:<input type="text" name="second" value="0"/><br>
         <input type="submit"/>
         </form>
         <%
         if (request.getMethod().equals("POST")) {
              int first = Integer.parseInt( request.getParameter( "first" ) );
              int second = Integer.parseInt( request.getParameter( "second" ) );
              int answer = first/second;
         %>
    </body>
    </html>
    NB: I am able to catch and display the exception if I use a try/catch block around the division as shown below.
    try {
    int answer = first/second;
    } catch( Exception e) {
    e.printStackTrace( new PrintWriter(out) );
    error.jsp (first draft)
    NB: HTTP 500 error occurs when directive "isErrorPage" is added:
    <%@ page isErrorPage="true" %>
    <html>
    <head><title>Error Page</title></head>
    <body>
    </body>
    </html>
    error.jsp (second draft)
    NB: directive is removed but exception thrown when implicit exception object is accessed. error.jsp displays if exception object is not accessed:
    <%@ page %>
    <html>
    <head><title>Error Page</title></head>
    <body>
    <%=exception.getMessage()%>
    </body>
    </html>
    Web server specs:
    Apache Tomcat 5.0.25
    Machine specs:
    Windows XP Pro
    Java environments:
    j2sdk1.4.2_03
    J2EE 1.4

    This works for me:
    throwError.jsp
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <%@ page language="java" errorPage="/error.jsp"
    contentType="text/html; charset=utf-8" %>
    <html>
    <head>
         <title>Throw Exception</title>
    </head>
    <body>
    Throwing exception....
    <%
    // throw ArithmeticException
    int badInt = 12/0;
    %>
    </body>
    </html>
    error.jsp
    <%@ page language="java" isErrorPage="true" %>
    <head><title>Doh!</title></head>
    An Error has occurred in this application.
    <% if (exception != null) { %>
    <pre><% exception.printStackTrace(new java.io.PrintWriter(out)); %></pre>
    <% } else { %>
    Please check your log files for further information.
    <% } %>

  • exception-type in error-page

    Hello!
    Is there anyone who succeeded plugging his own exception
    type into <exception-type> of <error-page> and
    not bumped out by ClassLoader?
    Would be glad to hear from you!
    Thank you,

    Sorry, brain not engaged, here's what I did....
    package exceptions;
    public class MyException extends Exception {
    �public MyException (String reason) { super(reason);  }
    �public String toString() { return getMessage(); }
    Now a page to throw it:
    <%@ page import="exceptions.MyException" %>
    <%@ page contentType="text/html; charset=ISO-8859-5" %>
    <html>
    <head><title>errorGenerator.jsp</title></head>
    <body>
    <h1>Generate an Exception</h1>
    <%
    boolean throwIt = true;
    if (throwIt)
    throw new MyException("Error generated by errorGenerator.jsp");
    %>
    </body>
    </html>
    A page to catch it:
    <%@ page contentType="text/html; charset=ISO-8859-5" %>
    <%@ page isErrorPage="true" %>
    <html>
    <head><title>errorDisplay.jsp</title></head>
    <body>
    <h1>Errors</h1>
    exception caught = [<%= exception %>]
    </body>
    </html>
    And the relevant part of the web app descriptor:
    <error-page>
    �<exception-type>exceptions.MyException</exception-type>
    �<location>/errorDisplay.jsp</location>
    </error-page>
    Requesting errorGenerator.jsp gets errorDisplay.jsp with the original message. See also the bookstore1 example in the J2EE tutorial.
    James

  • How to call common error pages for all the exceptions

    Hi All
    I have created the common ErrorPage in my application. In case of any error whether SQL,IO or JBO I want that error page be displayed. In the page definition I have given the errorpage name and also defined the error page as IS_ERROR_PAGE = true.But it is throwing Jbo exception at the top of the page itself.No redirection to the error page is done.
    Though I have gone through various threads in this forum but still its not clear how to get the things working.
    Can anyone please help me out in this regard?

    Hi,
    I assume you mean that you set the error page in the web.xml file. Note that exceptions are handled first by the JSF framework. Please have a look at the developer guide
    http://download-uk.oracle.com/docs/html/B25947_01/toc.htm
    http://download-uk.oracle.com/docs/html/B25947_01/web_val008.htm#CIHHBEEJ
    Frank

  • SFTP adapter error : Catching exception calling messaging system

    Error: com.aedaptive.sftp.adapter.SFTPException : Not all messages were delivered succesfully
      Could not deliver message to XI: com.sap.aii.af.lib.mp.module.ModuleException: senderChannel 'ca09269447583427adc545f8c23d244b': Catching exception calling messaging system
    This is error message which i get in sender communication channel while working  with SFTP adapter.

    Hi Pooja,
    I think it would be better to add getcause() to get the cause of the issue.
    Ref: http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/aii/af/lib/mp/module/ModuleException.html
    Thanks,

  • Getting the name of the page that throws an exception from an error page

    How can I get the name of the page that throws an
    error exception from an error page?.
    Thanks.

    In each of your jsp pages, u should set the name of page in the request object. e.g.
    In jsp page called main.jsp you should do request.setAttribute("pageName","main.jsp");
    Then in error page you can get the name like
    String pageInError = (String) request.getAttribute("pageName");
    I hope that answers your question.
    thx

  • Use of error page resulting in could not deserialize session data exception

              We have recently converted classes that store objects in the HTTP Session to implement
              serializable.
              Our application uses an error page set up in our web.xml for 500 errors.
              It also uses filters.
              When our application throws an exception and allows the server to handle it
              via the error page setup, we end up with the exception we threw, plus a number
              of
              "Could not deserialize session data" exceptions in the stack trace.
              In general, the exceptions can be traced to lines in code that attempt to reference
              one of our "serializable" session objects to get user info for logging purposes.
              Problem is, other applications that do not use error pages to handle exceptions
              do not throw these types of exceptions in the wl-domain.log and they use the same
              classes.
              Does anyone know why this happens when using error pages and what we need to do
              to correct it?
              We are using Weblogic 8.1sp2.
              Thanks!!
              Example of the stack trace messages:
              ####<May 5, 2004 2:52:17 PM EDT> <Error> <HTTP Session> <machinexyz> <cgServer>
              <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028>
              <Could not deserialize session data.
              java.io.NotSerializableException: weblogic.servlet.internal.FilterConfigImpl
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
                   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
                   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
                   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
                   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
                   at weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:136)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:112)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
                   at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
                   at doh.stuff.OurFilter.doFilter(OurFilter.java:67)
                   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                   at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
                   at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
                   at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3908)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              ####<May 5, 2004 2:52:17 PM EDT> <Error> <HTTP Session> <machinexyz> <cgServer>
              <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028>
              <Could not deserialize session data.
              java.io.NotSerializableException: java.util.Vector$1
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
                   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
                   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
                   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
                   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
                   at weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:136)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:112)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
                   at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
                   at doh.stuff.OurHTML.<init>(OurHTML.java:57)
                   at doh.stuff.OurFilter.startLog4j(OurFilter.java:513)
                   at doh.stuff.OurFilter.doFilter(OurFilter.java:75)
                   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                   at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
                   at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
                   at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3908)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              

              We have recently converted classes that store objects in the HTTP Session to implement
              serializable.
              Our application uses an error page set up in our web.xml for 500 errors.
              It also uses filters.
              When our application throws an exception and allows the server to handle it
              via the error page setup, we end up with the exception we threw, plus a number
              of
              "Could not deserialize session data" exceptions in the stack trace.
              In general, the exceptions can be traced to lines in code that attempt to reference
              one of our "serializable" session objects to get user info for logging purposes.
              Problem is, other applications that do not use error pages to handle exceptions
              do not throw these types of exceptions in the wl-domain.log and they use the same
              classes.
              Does anyone know why this happens when using error pages and what we need to do
              to correct it?
              We are using Weblogic 8.1sp2.
              Thanks!!
              Example of the stack trace messages:
              ####<May 5, 2004 2:52:17 PM EDT> <Error> <HTTP Session> <machinexyz> <cgServer>
              <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028>
              <Could not deserialize session data.
              java.io.NotSerializableException: weblogic.servlet.internal.FilterConfigImpl
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
                   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
                   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
                   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
                   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
                   at weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:136)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:112)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
                   at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
                   at doh.stuff.OurFilter.doFilter(OurFilter.java:67)
                   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                   at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
                   at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
                   at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3908)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              ####<May 5, 2004 2:52:17 PM EDT> <Error> <HTTP Session> <machinexyz> <cgServer>
              <ExecuteThread: '11' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-100028>
              <Could not deserialize session data.
              java.io.NotSerializableException: java.util.Vector$1
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
                   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1330)
                   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1302)
                   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1245)
                   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
                   at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
                   at weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:136)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:112)
                   at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:69)
                   at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:431)
                   at doh.stuff.OurHTML.<init>(OurHTML.java:57)
                   at doh.stuff.OurFilter.startLog4j(OurFilter.java:513)
                   at doh.stuff.OurFilter.doFilter(OurFilter.java:75)
                   at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                   at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:305)
                   at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:523)
                   at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:3908)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3683)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              

  • JHS 10.1.3 Internal Server Error - Page when a view raises an exception

    I have a view with some logic (based on a table function) and created: entity object, view object and (jhs) an advanced search page. When the view raises an exception an "500 Internal Server Error"-page is showed, but I expected the error would be showed in de messages-component.
    I created a test case: a view on employees-table with in the select a function that raises an exception when last_name starts with "L". On this view an entity obejct, a view object and application module.
    I generated with JHS a page : layout: table and only advanced search.
    The first time the page is loaded (with auto query) some records are showed and the exception is showed as expected in the message-component. When I do a search (without criteria) the "500 Internal Server Error" pages is showed.
    When I create manual a search page, the behavior is as expected.
    (see below for error stack)
    Greetings, Frank
    "500 Internal Server Error"-page :
    javax.faces.FacesException: #{searchVEmps.advancedSearch}: javax.faces.el.EvaluationException: oracle.jbo.RowNotFoundException: JBO-25060: Er is een onverwachte fout opgetreden bij het ophalen van de volgende rij uit JDBC ResultSet voor verzameling VEmps.
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
         at oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.faces.el.EvaluationException: oracle.jbo.RowNotFoundException: JBO-25060: Er is een onverwachte fout opgetreden bij het ophalen van de volgende rij uit JDBC ResultSet voor verzameling VEmps.
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
         ... 27 more
    Caused by: oracle.jbo.RowNotFoundException: JBO-25060: Er is een onverwachte fout opgetreden bij het ophalen van de volgende rij uit JDBC ResultSet voor verzameling VEmps.
         at oracle.jbo.server.QueryCollection.hasNextInResultSet(QueryCollection.java:3103)
         at oracle.jbo.server.ViewObjectImpl.hasNextForCollection(ViewObjectImpl.java:3650)
         at oracle.jbo.server.QueryCollection.hasNext(QueryCollection.java:2992)
         at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2207)
         at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
         at oracle.jbo.server.QueryCollection.getRowCount(QueryCollection.java:1821)
         at oracle.jbo.server.ViewRowSetImpl.getRowCount(ViewRowSetImpl.java:1933)
         at oracle.jbo.server.ViewObjectImpl.getRowCount(ViewObjectImpl.java:5918)
         at oracle.jheadstart.controller.jsf.bean.JhsSearchBean.executeAdvancedSearchBinding(JhsSearchBean.java:326)
         at oracle.jheadstart.controller.jsf.bean.JhsSearchBean.advancedSearch(JhsSearchBean.java:214)
         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:585)
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
         ... 28 more

    Could you send your testcase to [email protected]? Rename extension .zip to something else (.zipped for example)
    Thanks,
    Steven Davelaar,
    JHeadstart Team

Maybe you are looking for