Hola, Stan!
Comments inline:
> The good news is that it's very easy to develop stateful web services
> (hooray!). But...
> 1. If you write your client 'by hand' you must include this
> statement in
> Client.java:
> call.setMaintainSession(true);
> 2. If you generate a wsdl file and stubs, you must edit one
> of the stubs to
> include this statement:
> stub.setMaintainSession(true);
> For more details on item 2, see the thread by Jaroslaw Balut
> 3/20/02 ("Re:
> How to do Stateful SOAP servers?")
> In both cases, you need this line in the deployment descriptor:
> <parameter name="scope" value="session"/>
>
> My (minor) complaint is that items 1 and 2 should be
> unnecessary. It should
> be sufficient to put the "<parameter..." line in the
> deployment descriptor,
> and be done with it. I hope this complaint is not taken
Well, if you write a client by hand with the DII, you really do need to specify
whether it should "deal" with sessions or not, I can't see a good way around that (can
you give me an example? There's no deployment descriptor in the usual case here).
However, for #2, you're quite right. We can solve this in an Axis-specific way for
now, and then as the community standards evolve for a) maintaining session with SOAP
headers, and b) expressing extensions in WSDL, we can converge on a solution that will
interoperate with SOAP::Lite, .NET, GLUE, etc. For now, though, we could introduce
axis-specific WSDL extensions which get automatically generated for session-scoped
services and recognized by the stub generators.
Volunteers to write stuff like this are of course always appreciated. :)
> negatively. You
> guys are doing a terrific job on Axis, and I am most
> grateful. Keep up the
> good work! :)
Thanks! Glad you like the toolkit so far, and we plan to keep making it
better/easier/faster.
--Glen