axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vassilis Virvilis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-3141) Can't use SSL with scope="transportsession"
Date Thu, 08 Nov 2007 14:11:51 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-3141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12541051
] 

Vassilis Virvilis commented on AXIS2-3141:
------------------------------------------

I am using axis2-1.3 through https:// and the mod_jk apache redirector of port 8009
and I have a very similar backtrace like this bug but not exactly the same.
https://issues.apache.org/jira/browse/AXIS2-3141

What I am doing is the following:
1) Build the aar file
2) stop tomcat
3) copy aar file into /var/lib/tomcat5.5/webapps/axis2/WEB-INF/services
4) start tomcat
-------------
Everything works: (ok)

Now when I restart tomcat the service does not work anymore

I cannot reproduce the behavior without transportsession
but with transportsession happens every time. In order to
fix it I have to actually rerun the java2wsdl and go to
step 1 again.

        .bill

2007-10-12 22:27:51,622 [TP-Processor3] ERROR org.apache.axis2.transport.http.AxisServlet
 -
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:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)


> 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message