In axis-beta2, the setMaintainSession method call which is required to have the client maintaining the session is on the Call class, not the Service one.
The Call class is part of the jaxrpc spec, but the setMaintainSession is Axis specific, I believe.
If you look at the JAXRPC spec, you will see that the way to do that is to do a Call.setProperty ("javax.xml.rpc.session.maintain", true) is the way to do it, which will also work with Axis (at least that is my understanding after looking into the code).
The JAXRPC spec does not specify any way to maintain session through SOAP headers as there is not standard SOAP header to support that.
As for the other languages (C++, Perl, etc...), I guess this is a matter of checking if the standard SOAP API for each of those languages (if they exist, so far, I think only JAXRPC exists and this is for Java) provides a standard way to maintain sessions and cross your finger that this is compatible with Axis (through HTTP, you have a pretty good chance that this will be cookies anyway).
Thomas
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 14, 2002 1:45 PM
To: [EMAIL PROTECTED]
Subject: Axis sessions using non-Axis client?
Hi all.
I've been reading several of the archived posts regarding Axis sessions, and I've found some very useful information.
However, I have not found any information specifically about using Axis only as a server while maintaining session state for clients (someone alluded to this being possible in their post, but no specific information was provided).
I am very interested in using Axis to provide a service - but I must meet the following requirements:
1. Clients cannot be tied to Axis (they must be able to use JAX-RPC without having to use any Axis specific API's).
2. Clients may be written in any language (Java, C++, Perl, etc.) using standard SOAP API's for clients, for going over HTTP to Axis.
I know that Axis can maintain sessions based on either cookies, or using SOAP headers. However, it appears that the Axis client class org.apache.axis.client.Service MUST be used to enable sessions. Is there a way of supporting sessions with either cookies or SOAP headers that does not require using any Axis specific client classes? Can anyone point me in the direction of any examples that show how to do this?
I did see the session example (TestSimpleSession.java, included in the test directory of the Axis source release) which uses the SOAP header method, but it still uses the org.apache.axis.client.Service.setMaintainSession()
function, so I'm not sure this will do what I expect.
Thanks.
-Mark
