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 "Chris Manning (JIRA)" <ji...@apache.org> on 2008/10/08 17:31:44 UTC
[jira] Commented: (AXIS2-3141) Can't use SSL with
scope="transportsession"
[ https://issues.apache.org/jira/browse/AXIS2-3141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637962#action_12637962 ]
Chris Manning commented on AXIS2-3141:
--------------------------------------
There is still an issue in Axis2 1.4.1. The stack trace has changed to :
java.lang.NullPointerException
at org.apache.axis2.engine.DispatchPhase.fillContextsFromSessionContext(DispatchPhase.java:257)
at org.apache.axis2.engine.DispatchPhase.loadContexts(DispatchPhase.java:161)
at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:100)
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:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3245)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> Can't use SSL with scope="transportsession"
> -------------------------------------------
>
> Key: AXIS2-3141
> URL: https://issues.apache.org/jira/browse/AXIS2-3141
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: 1.3, 1.2
> Environment: Windows XP Professional, Java 1.4.2_03 and 1.5.0_06, Tomcat 4.1.30, Axis2 1.3 and 1.2.
> Reporter: Andrew Martin
> Assignee: Deepal Jayasinghe
> Priority: Blocker
> Attachments: httpsaxis2v1.2.patch
>
>
> When I try to invoke my service via https, Axis2 1.3 throws a
> NullPointerException (though it works fine via http):
> java.lang.NullPointerException
> at org.apache.axis2.engine.DispatchPhase.fillContextsFromSessionContext(DispatchPhase.java:227)
> at org.apache.axis2.engine.DispatchPhase.loadContexts(DispatchPhase.java:156)
> at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:95)
> at org.apache.axis2.engine.Phase.invoke(Phase.java:308)
> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:132)
> at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:199)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> at java.lang.Thread.run(Unknown Source)
> Here's the stack trace if I use Axis2 1.2:
> Caused by: java.lang.NullPointerException
> at org.apache.axis2.engine.InstanceDispatcher.fillContextsFromSessionContext(InstanceDispatcher.java:123)
> at org.apache.axis2.engine.InstanceDispatcher.invoke(InstanceDispatcher.java:70)
> at org.apache.axis2.engine.Phase.invoke(Phase.java:383)
> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:203)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:131)
> at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
> at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:116)
> ... 33 more
> I think I found what's causing it. My service is defined like this in
> services.xml:
> <service name="..." scope="transportsession">...</service>
> If I remove 'scope="transportsession"', Axis2 no longer throws this
> Exception, and my own code is invoked (though it causes my code to fail,
> since mc.getSessionContext() returns null).
> Is there any reason why 'scope="transportsession"' would work via http
> but not https?
> I get the same error with version-1.3.aar in Axis2 1.3 and version.aar in Axis2 1.2 if I change the first line of its services.xml to this:
> <service name="Version" scope="transportsession">
> I modified my axis2.xml, uncommenting this section:
> <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">...
> Is that necessary? I thought that SSL was controlled entirely by the servlet container in Axis1. Has that changed in Axis2?
> After that, I got this:
> java.lang.UnsupportedClassVersionError: org/apache/http/impl/nio/reactor/SSLIOSessionHandler (Unsupported major.minor version 49.0)
> I tried temporarily switching to jre1.5.0_06. Is that necessary? I thought Axis2 was compatible with Java 1.4.
> After that, I no longer get the NullPointerException immediately.
> However, that doesn't fix the real problem. This method for retrieving the SessionContext ends up returning null when the service is invoked via https (though it works fine via http):
> SessionContext getSession()
> {
> MessageContext mc = MessageContext.getCurrentMessageContext();
> Options o;
> o = mc.getOptions();
> if (o == null)
> {
> o = new Options();
> mc.setOptions(o);
> }
> o.setManageSession(true);
> return mc.getSessionContext();
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org