[ https://issues.apache.org/jira/browse/AXIS2-3141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540453 ]
Christian Daszenies commented on AXIS2-3141: -------------------------------------------- I can confirm this issue. We (try) to process the requests from apache to tomcat via mod_jk > 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 > > 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]