If anyone could help me it would be greatly appreciated. I am running DSpace on WebLogic 8.1.3 with Postgres 7.4.5 for reason outside of my control. Everything seems fine except for when I go to create a new collection within a community. I select the “Create Collection” button, and it forwards me to the permissions screen within the collection wizard. I then click “Next >” and receive a System Malfunction error message. I took sometime to investigate why this was happening and discovered that the collection is never being saved when I clicked “Create Collection”. I have tracked down the issue to a couple of lines of code within the CollectionWizardServlet.java that seems to be aborting my context before it commits the context.

 

    protected void doDSPost(Context context,

            HttpServletRequest request,

            HttpServletResponse response)

    throws ServletException, IOException, SQLException, AuthorizeException

 

 

     

      if (communityID > -1)

      {

         

          JSPManager.showJSP(request, response, "/dspace-admin/wizard-questions.jsp");

          context.complete();

      } else {

         

      }

 

The method JSPManager.showJSP calls the DSpaceServlet.doPost method which then calls processRequest(…). Within this method there is a try … finally and within that finally block is a context.abort which aborts the context before it can call complete it in the CollectionWizardServlet.doDSPost. I’ve tried switching these lines around however I get another error which I have yet to track down. I have pasted the exception I received below, if anyone could confirm this is a bug or an issue with WebLogic I would greatly appreciate it.

 

java.lang.NullPointerException

        at org.dspace.core.Context.complete(Context.java:215)

        at org.dspace.app.webui.servlet.admin.CollectionWizardServlet.doDSPost(CollectionWizardServlet.java:182)

        at org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:153)

        at org.dspace.app.webui.servlet.DSpaceServlet.doPost(DSpaceServlet.java:110)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)

        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)

        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)

        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)

        at org.dspace.app.webui.filter.AdminOnlyFilter.doFilter(AdminOnlyFilter.java:110)

        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)

        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6458)

        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)

        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)

        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)

        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

 

Thanks

Tim