djencks     2005/03/20 16:36:25

  Modified:    modules/core/src/java/org/openejb/server/axis
                        WSContainer.java
  Log:

  It's necessary to unregister these when the ejb container stops, or you get 
dead proxy exceptions when you redeploy at the same location
  
  Revision  Changes    Path
  1.5       +21 -3     
openejb/modules/core/src/java/org/openejb/server/axis/WSContainer.java
  
  Index: WSContainer.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/server/axis/WSContainer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WSContainer.java  18 Mar 2005 07:42:17 -0000      1.4
  +++ WSContainer.java  20 Mar 2005 21:36:25 -0000      1.5
  @@ -52,16 +52,23 @@
   import org.apache.axis.providers.java.RPCProvider;
   import org.apache.geronimo.axis.server.AxisWebServiceContainer;
   import org.apache.geronimo.webservices.SoapHandler;
  +import org.apache.geronimo.gbean.GBeanLifecycle;
   import org.openejb.EJBContainer;
   
  -public class WSContainer {
  +public class WSContainer implements GBeanLifecycle {
  +
  +    private final SoapHandler soapHandler;
  +    private final URI location;
   
       protected WSContainer() {
  +        soapHandler = null;
  +        location = null;
       }
   
       public WSContainer(EJBContainer ejbContainer, URI location, URI wsdlURI, 
SoapHandler soapHandler, JavaServiceDesc serviceDesc) throws Exception {
           try {
  -
  +            this.soapHandler = soapHandler;
  +            this.location = location;
               RPCProvider provider = new EJBContainerProvider(ejbContainer);
               SOAPService service = new SOAPService(null, provider, null);
               service.setServiceDescription(serviceDesc);
  @@ -133,4 +140,15 @@
   //    }
   
   
  +    public void doStart() throws Exception {
  +
  +    }
  +
  +    public void doStop() throws Exception {
  +        soapHandler.removeWebService(location.getPath());
  +    }
  +
  +    public void doFail() {
  +
  +    }
   }
  
  
  

Reply via email to