At 03:08 PM 7/9/2002 -0400, you wrote: >I've got a test web service that gets and sets a java class. I used >WSDL2Java to gen the stub and skeleton. The stub implements my interface. >In the impl's constructor, I create and populate several private field >variable instances of my base class. > > From my client, I'm able to instantiate my interface using the service >locator. I'm also able to successfully call the interface get method to >retrieve the instances of my base class created in the impl constructor. >However, when I call the set method to change the values of one of those >base class instances and then call the get method to see the changed values >on the client, I see the original values that were created in the impl >constructor. I put a println in the set method in the impl - the object is >making it's way there and I'm able to assign the values to the field >variable bases classes and print out their values (in tomcat.) But the get >method returns the original values. I'm expecting to see the changed >values, not the original. > >Is there something I'm missing concerning service instantiation? With each >call to the service, is a new class instantiated (which would explain why my >set values aren't kept?)
right, unless you declare the service with session scope in the deploy.wsdd file like this: <service name="blah" provider="java:RPC"> <parameter name="allowedMethods" value="blah"/> <parameter name="scope" value="Session"/> <parameter name="className" value="blah"/> </service> >I tried setting the maintainSession flag to true on the stub, but that >didn't help. > >Thanks. > > >Sean Cohan >Software Performance Systems