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();
}