You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Matthias Weber (JIRA)" <ji...@apache.org> on 2009/07/15 15:49:15 UTC

[jira] Updated: (AXIS2-3876) first SSL POST request to AxisServlet with transportsession scope leads to NPE in DispatchPhase.fillContextsFromSessionContext

     [ https://issues.apache.org/jira/browse/AXIS2-3876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Weber updated AXIS2-3876:
----------------------------------

    Affects Version/s: 1.5
                       1.4.1

> 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
>         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.