thanks for the fix.
 Tony.Date: Fri, 24 Jun 2011 22:59:56 -0400
From: deep...@gmail.com
To: java-user@axis.apache.org
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.

        

      
    
    
                                          

Reply via email to