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 "Christoph C. Cemper @ Cemper.com" <ch...@cemper.com> on 2001/09/26 15:30:02 UTC
SOAPHeader-Session-Handling - Axis Handler Features
Hi Naresh & all on SOAP-list (FYI)
the session-maintenance via SOAPheaders is the only -to me- know solution
for
interoperable session handling from Apache to MS.SOAP Toolkit
Reason:
================
* Storing Session-Context in SOAPheader is transport-independant
(in contrast to the HTTP-dependant cookie mechanism)
* That means: it should work with transports like FTP,SMTP,etc.. aswell
(untested so far)
* Handling SOAPheader info works in MS.SOAP Toolkit
* Other "higher-level" protocols like the DSIG or ebXML also store their
meta-info in the SOAPheader for the same reason: transport-agnostic
Status:
1* Working Example on my machine :-)
2* Working MS.SOAP TOOLKIT VBS-Client -> Java Apache AXIS Service
3* Working Java Apache AXIS Service -> Java Apache AXIS Service for the
same service (one would expect that)
How it works:
================
I implemented - basically - an aXIS plugin handler, which is configured
with
some lines to go between the NETWORK REQUEST and the SERVICE request, same
for
the Response
request-path
CLIENT -> NETWORK -> myHandler -> SERVICE
response-path
CLIENT -> NETWORK <- myHandler <- SERVICE
the Handler (myHandler in above diagram) maintains soap-headers containing
the
session-id... same for the CLIENT, for the VBS, I used a microsoft
VB-ActiveX DLL
I know a nice picutre for explaining the handlers on
http://www.thoughtcraft.com/~glen/axis/HandlerScenario.html
by Glen
Why AXIS rules?
================
My first approach used the EnvelopeEditor interface in APACHE SOAP... that
gave
me a chance to get the whole SOAP-Envelope for work on it...
BUT: all I got then was a bytestream, which is not really the way I source
I
wanted... editing the envelope directly as bytes, might be ONE way,
but
it's definately the worst of all I could imagine...
AXIS FEATURE #1 : every handler can get a Message-Object, containing of
SOAPEnvelope, SOAPHeader and SOAPbody objects
which can be gotten as DOMs for further manipulation
AXIS FEATURE #2 : handlers can be cascaded ("chained") which means you could
create several modular handlers to perform various tasks:
- authentication via A
- authentication via B
- SOAPheader session-handling
- SOAPheader session-handling datbase backed (re-startable or so)
- etc.etc.
and all those can be switched and shuffeld in one small XML-file without
changing a line of code...
Now that's what we needed
AXIS FEATURE #3 : I took a look at the whole thing and immediately knew what
to
do... Apache SOAP seemed more confusing to me, and didn't
really give me a good chance to change something
So Axis is the superior by design if you ask me...
Well, and most important thing:
=================================
the whole thing is working so far... as you can see in "Status" the thing
operates fine the lab...
i won't say that one can use it for all occassions, but having a good
example is better than "a sta am schedl" (i.e. nothing)...
I will try to provide the sources for the example today to James Abott and
Glen Daniels who promised to support me with it...
if he can read/understand the thing, we will see how we can contribute to
the
project...
but keep in mind: it's a sample using existing AXIS features !!
mfg / kind regards,
Christoph C. Cemper
email: mailto:Christoph@Cemper.com
www: http://Christoph.Cemper.com
-----Ursprüngliche Nachricht-----
Von: Naresh Agarwal [mailto:nagarwal@firstrain.com]
Gesendet: Mittwoch, 26. September 2001 14:42
An: christoph@cemper.com
Betreff: Acis Handler Features
Hi chris..
I appreciate that you took a initiative for implementing Session-maintenance
in Soap-Axis using Soap headers. It will definitely resolve the
interoperability problem with MS-Soap as far as session maintenance is
concerned.
Can you please elaborate a bit the Handler-features in Axis..and what
additional functionalities/ease they will provide in comparison to Apache
Soap-2.2
thanks,
regards,
Naresh Agarwal