You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by na...@apache.org on 2001/06/28 22:08:48 UTC

cvs commit: xml-soap/java/src/org/apache/soap/server ServiceManager.java

nagy        01/06/28 13:08:48

  Modified:    java     soap.xml
               java/src/org/apache/soap/server ServiceManager.java
  Log:
  Added support for config file element to allow users to enable or disable SOAP interface to Service Manager.  See http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2386 for the details.
  PR:2386
  
  Revision  Changes    Path
  1.2       +3 -0      xml-soap/java/soap.xml
  
  Index: soap.xml
  ===================================================================
  RCS file: /home/cvs/xml-soap/java/soap.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- soap.xml	2000/12/14 00:19:29	1.1
  +++ soap.xml	2001/06/28 20:08:43	1.2
  @@ -3,6 +3,9 @@
   <soapServer>
     <!-- This section defines the same thing you get if you don't -->
     <!-- specify anything at all - aka the default                -->
  +  <serviceManager>
  +    <option name="SOAPInterfaceEnabled" value="true" />
  +  </serviceManager>
     <configManager value="org.apache.soap.server.DefaultConfigManager" >
       <option name="filename" value="DeployedServices.ds" />
     </configManager>
  
  
  
  1.16      +44 -25    xml-soap/java/src/org/apache/soap/server/ServiceManager.java
  
  Index: ServiceManager.java
  ===================================================================
  RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/server/ServiceManager.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ServiceManager.java	2001/05/17 18:25:51	1.15
  +++ ServiceManager.java	2001/06/28 20:08:47	1.16
  @@ -81,8 +81,8 @@
     protected ConfigManager        configMgr = null;
     protected ServletContext       context = null;
     protected DocumentBuilder      xdb = XMLParserUtils.getXMLDocBuilder();
  +  protected boolean              soapInterfaceEnabled = true;
   
  -
     public ServiceManager (ServletContext context, String configFilename) {
       this.context = context;
   
  @@ -93,30 +93,35 @@
   
       readConfigFile ();
   
  -    smsdd = new DeploymentDescriptor ();
  -    smsdd.setID (ServerConstants.SERVICE_MANAGER_SERVICE_NAME);
  -    String[] svcs = new String[] { "deploy", "undeploy", "list",  "query" };
  -    smsdd.setMethods (svcs);
  -    smsdd.setScope (DeploymentDescriptor.SCOPE_APPLICATION);
  -    smsdd.setProviderType (DeploymentDescriptor.PROVIDER_JAVA);
  -    smsdd.setProviderClass ("org.apache.soap.server.ServiceManager");
  -    smsdd.setIsStatic (false);
  -
  -    // set up mappings to send/recv DeploymentDescriptor and TypeMapping
  -    // objects
  -    smsdd.setMappings (new TypeMapping[] {
  -      new TypeMapping (Constants.NS_URI_SOAP_ENC,
  -                       new QName (Constants.NS_URI_XML_SOAP,
  -                                  "DeploymentDescriptor"),
  -                       "org.apache.soap.server.DeploymentDescriptor",
  -                       "org.apache.soap.encoding.soapenc.BeanSerializer",
  -                       "org.apache.soap.encoding.soapenc.BeanSerializer"),
  -      new TypeMapping (Constants.NS_URI_SOAP_ENC,
  -                       new QName (Constants.NS_URI_XML_SOAP,
  -                                  "TypeMapping"),
  -                       "org.apache.soap.server.TypeMapping",
  -                       "org.apache.soap.server.TypeMappingSerializer",
  -                       "org.apache.soap.server.TypeMappingSerializer")});
  +    /*If the SOAP Interface for the ServiceManager has been disabled,
  +      don't create the DeploymentDescriptor -WAN*/
  +    if (soapInterfaceEnabled)
  +    {
  +      smsdd = new DeploymentDescriptor ();
  +      smsdd.setID (ServerConstants.SERVICE_MANAGER_SERVICE_NAME);
  +      String[] svcs = new String[] { "deploy", "undeploy", "list",  "query" };
  +      smsdd.setMethods (svcs);
  +      smsdd.setScope (DeploymentDescriptor.SCOPE_APPLICATION);
  +      smsdd.setProviderType (DeploymentDescriptor.PROVIDER_JAVA);
  +      smsdd.setProviderClass ("org.apache.soap.server.ServiceManager");
  +      smsdd.setIsStatic (false);
  +      
  +      // set up mappings to send/recv DeploymentDescriptor and TypeMapping
  +      // objects
  +      smsdd.setMappings (new TypeMapping[] {
  +	new TypeMapping (Constants.NS_URI_SOAP_ENC,
  +			 new QName (Constants.NS_URI_XML_SOAP,
  +				    "DeploymentDescriptor"),
  +			 "org.apache.soap.server.DeploymentDescriptor",
  +			 "org.apache.soap.encoding.soapenc.BeanSerializer",
  +			 "org.apache.soap.encoding.soapenc.BeanSerializer"),
  +	new TypeMapping (Constants.NS_URI_SOAP_ENC,
  +			 new QName (Constants.NS_URI_XML_SOAP,
  +				    "TypeMapping"),
  +			 "org.apache.soap.server.TypeMapping",
  +			 "org.apache.soap.server.TypeMappingSerializer",
  +			 "org.apache.soap.server.TypeMappingSerializer")});
  +    }
     }
   
     public void setConfigFilename (String configFilename) {
  @@ -190,6 +195,20 @@
             if ( options != null )
               configMgr.setOptions( options );
           }
  +	else
  +	  if (name.equals("serviceManager"))
  +	  {
  +          // Now check for options 
  +	    NodeList  optList = elem.getElementsByTagName( "option" );
  +	    for ( k = 0 ; optList != null && k < optList.getLength() ; k++ ) {
  +	      elem = (Element) optList.item( k );
  +	      name  = elem.getAttribute( "name" );
  +	      String  value = elem.getAttribute( "value" ) ;
  +	      if ( name == null || value == null ) continue ;
  +	      if (name.equalsIgnoreCase("SOAPInterfaceEnabled") && value.equalsIgnoreCase("false"))
  +		soapInterfaceEnabled = false;
  +	    }
  +	  }
         }
         reader.close();
       }