thanks for the fix.
Tony.Date: Fri, 24 Jun 2011 22:59:56 -0400
From: [email protected]
To: [email protected]
Subject: Re: destroy(ServiceContext context) never call
You were absolutely right, there was some missing code for calling
destroy method for service deployed in request scope. I have fixed
it in the trunk, you will get the fix in nightly builds.
Deepal
Hi,
I am running a simple WebService with Axis 1.5.4, who send a
String msg.
My Axis2.xml :
<service name="SimpleTest" >
<Description>
Please Type your service description here
</Description>
<messageReceivers>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"
/>
<messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="false"
scope="request">SimpleTest</parameter>
</service>
I have implemented lifeCycle init and destroy method :
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.service.Lifecycle;
public class SimpleTest implements Lifecycle{
public void destroy(ServiceContext arg0) {
System.out.println("destroy call");
}
public String ping(){
return "bouh";
}
public void init(ServiceContext arg0) throws AxisFault {
System.out.println("init call");
}
}
Then, i have call my WS by web browser
(http://localhost:8080/timeOut/services/SimpleTest/ping), and
with a small client using auto generated stub :
SimpleTestStub stb = new SimpleTestStub();
ServiceClient sc = stb._getServiceClient();
sc.getOptions().setManageSession(true);
stb._setServiceClient(sc);
System.out.println(stb.ping().get_return());
By reading api documentation, i think i should see an init call
and a destroy call between each request, but in fact, i can only
see (for each request) an init call.
What am i doing wrong?
Thx for help,
Tony.