[ https://issues.apache.org/jira/browse/AXIS2-3876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen resolved AXIS2-3876. ------------------------------------ Resolution: Fixed Fix Version/s: 1.6 This should be fixed by the changes in AXIS2-4465. > first SSL POST request to AxisServlet with transportsession scope leads to > NPE in DispatchPhase.fillContextsFromSessionContext > ------------------------------------------------------------------------------------------------------------------------------ > > Key: AXIS2-3876 > URL: https://issues.apache.org/jira/browse/AXIS2-3876 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: transports > Affects Versions: 1.5, 1.4.1, 1.4 > Environment: WLS8.1, AIX > Reporter: Matthias Weber > Priority: Critical > Fix For: 1.6 > > Attachments: AxisServlet.patch > > > We use Axis 1.4 in an WLS 8.1 environment. There are no TransportReceivers > registered in axis2.xml. > After server start or redeploy it is impossible to get an answer to a POST > request via SSL. We see following exception: > @|27.06.2008 11:01:53|ERROR|org.apache.axis2.transport.http.AxisServlet| > java.lang.NullPointerException > at > org.apache.axis2.engine.DispatchPhase.fillContextsFromSessionContext(DispatchPhase.java:229) > at > org.apache.axis2.engine.DispatchPhase.loadContexts(DispatchPhase.java:158) > at > org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:97) > at org.apache.axis2.engine.Phase.invoke(Phase.java:333) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:854) > at > weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:349) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902) > at > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773) > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183) > After the first sent GET there is no problem anymore. > The NPE is thrown here: > TransportListener listener = msgContext.getTransportIn().getReceiver(); > Seems that msgContext.getTransportIn() returns null. > Maybe this is because AxisServlet only resisters itself as TransportListener > for HTTP scheme. From AxisServlet.init(ServletConfig config): > TransportInDescription transportInDescription = new > TransportInDescription(Constants.TRANSPORT_HTTP); > transportInDescription.setReceiver(this); > listenerManager.addListener(transportInDescription, true); > Would it be possible to register AxisServlet here also for HTTPS? > A GET request never fails because doGet() does an > agent.initTransportListener(request); but doPost() never does. > I know, there was already an Jira issue AXIS2-3141 which addresses the same > thing. But the attached patch seems to be only a workaround. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.