djencks     2005/04/16 17:15:59

  Modified:    modules/openejb-builder/src/java/org/openejb/deployment
                        SessionBuilder.java
  Log:

  not all session beans are webservices quite yet
  
  Revision  Changes    Path
  1.22      +13 -7     
openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java
  
  Index: SessionBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- SessionBuilder.java       16 Apr 2005 19:01:54 -0000      1.21
  +++ SessionBuilder.java       16 Apr 2005 21:15:59 -0000      1.22
  @@ -91,6 +91,7 @@
   import org.apache.geronimo.xbeans.j2ee.WebserviceDescriptionType;
   import org.apache.geronimo.xbeans.j2ee.WebservicesDocument;
   import org.apache.geronimo.xbeans.j2ee.EjbLinkType;
  +import org.apache.xmlbeans.XmlException;
   import org.openejb.dispatch.InterfaceMethodSignature;
   import org.openejb.slsb.HandlerChainConfiguration;
   import org.openejb.transaction.TransactionPolicySource;
  @@ -267,11 +268,21 @@
   
       private HandlerChainConfiguration 
createHandlerChainConfiguration(JarFile moduleFile, String ejbName, ClassLoader 
cl) throws DeploymentException {
           PortComponentHandlerType[] handlers = null;
  +        String webservicesdd;
           try {
               URL webservicesURL = DeploymentUtil.createJarURL(moduleFile, 
"META-INF/webservices.xml");
  -            WebservicesDocument webservicesDocument = 
WebservicesDocument.Factory.parse(webservicesURL);
  +            webservicesdd = DeploymentUtil.readAll(webservicesURL);
  +        } catch (Exception e) {
  +            return null;//no ws dd
  +        }
  +        WebservicesDocument webservicesDocument = null;
  +        try {
  +            webservicesDocument = 
WebservicesDocument.Factory.parse(webservicesdd);
  +        } catch (XmlException e) {
  +            throw new DeploymentException("invalid webservicesdd", e);
  +        }
   
  -            WebserviceDescriptionType[] webserviceDescriptions = 
webservicesDocument.getWebservices().getWebserviceDescriptionArray();
  +        WebserviceDescriptionType[] webserviceDescriptions = 
webservicesDocument.getWebservices().getWebserviceDescriptionArray();
               for (int i = 0; i < webserviceDescriptions.length && handlers == 
null; i++) {
   
                   PortComponentType[] portComponents = 
webserviceDescriptions[i].getPortComponentArray();
  @@ -283,11 +294,6 @@
                       }
                   }
               }
  -        } catch (MalformedURLException e) {
  -            throw new DeploymentException("Invalid URL to webservices.xml", 
e);
  -        } catch (Exception e) {
  -            throw new DeploymentException("Could not read webservices.xml", 
e);
  -        }
   
           if (handlers != null){
               List handlerInfos = 
WSDescriptorParser.createHandlerInfoList(handlers, cl);
  
  
  

Reply via email to