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:[EMAIL PROTECTED] www: http://Christoph.Cemper.com -----Ursprüngliche Nachricht----- Von: Naresh Agarwal [mailto:[EMAIL PROTECTED]] Gesendet: Mittwoch, 26. September 2001 14:42 An: [EMAIL PROTECTED] 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
SOAPHeader-Session-Handling - Axis Handler Features
Christoph C. Cemper @ Cemper.com Wed, 26 Sep 2001 05:56:14 -0700