com.esri.arcgis.server
Class ServerObjectAdmin

java.lang.Object
  extended by com.esri.arcgis.server.ServerObjectAdmin
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IPermissionsAdmin, IPermissionsAdmin2, IServerObjectAdmin, IServerObjectAdmin2, IServerObjectAdmin3, IServerObjectAdmin4, IServerStatistics, Serializable

public class ServerObjectAdmin
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IServerObjectAdmin, IServerObjectAdmin2, IServerObjectAdmin3, IServerObjectAdmin4, IServerStatistics, IPermissionsAdmin, IPermissionsAdmin2

The ServerObjectAdmin object which administrates the GIS Server.

Remarks

The ServerObjectAdmin administrates a GIS server. Any application that runs as a user account in the agsadmin user group on the ArcGIS Server can use the IGISServerConnection interface to connect to the ArcGIS Server and to get a reference to the ServerObjectAdmin. If the user account is not part of the agsadmin user group the ServerObjectAdmin property on IServerConnection will return an error. Applications that are running as accounts that can connect to the server but are not part of the agsadmin user group can use the ServerObjectManager property on IGISServerConnection to get a reference on the ServerObjectManager .

Use ServerObjectAdmin to adminstrate both the set of server object configurations and types associated with the server, and to administer aspects of the server itself. The following administration functionality of the ArcGIS Server is provided by ServerObjectAdmin :

Adminster server object configurations:

Add and delete server object configurations

Update a server object configuration's properties

Start, stop and pause server object configurations

Report the status of a server object configuration

Get all server object configurations and their properties

Get all server object types and their properties

Administer aspects of the server itself:

Add and remove server container machines

Get all server container machines

Add and remove server directories

Get all server directories

Configure the server's logging properties

Get statistics about events in the server

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
ServerObjectManager, ServerObjectType, IAGSServerConnectionAdmin, AGSServerConnectionName, IEnumServerObjectType, IEnumServerDirectory, AGSServerConnection, IServerConnection, ServerObjectTypeInfo, IEnumServerObjectTypeInfo, IAGSServerObject, ServerDirectoryInfo, ServerObjectConfiguration, ServerContext, ServerObjectConfigurationStatus, IAGSServerObjectName, ServerConnection, IAGSServerConnectionName, IAGSEnumServerObjectName, ServerObject, IServerObjectConfigurationInfo, IServerObjectAdmin, AGSServerConnectionFactory, IAGSServerConnectionFactory, IEnumServerObjectConfigurationInfo, IGISServerConnection, IAGSServerConnection, IServerContext, ServerDirectory, ServerObjectConfigurationInfo, IEnumServerMachine, ServerMachine, IServerObjectConfiguration, IServerObjectManager, IServerObjectTypeInfo, IServerMachine, IServerObject, IServerObjectType, GISServerConnection, AGSServerObjectName, ServerObjectAdmin, IEnumServerObjectConfiguration, Serialized Form

Constructor Summary
ServerObjectAdmin(Object obj)
          Construct a ServerObjectAdmin using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addConfiguration(IServerObjectConfiguration config)
          Adds a server object configuration (created with CreateConfiguration) to the GIS server.
 void addExtensionType(String sOTypeName, IServerObjectExtensionType pSOEType)
          Registers a new server object extension type with the server object type indicated in the argument list.
 void addMachine(IServerMachine machine)
          Adds a host machine (created with CreateMachine) to the GIS server.
 void addServerDirectory(IServerDirectory pSD)
          Adds a server directory (created with CreateServerDirectory) to the GIS server.
 void allowPermission(String principal, String resource, String operation)
          Grants permission to the specified principal to perform the given operation on the indicated resource.
 void cleanPermissions(String principal)
          Removes all permissions for a particular principal.
 IServerObjectConfiguration createConfiguration()
          Creates a new server object configuration.
 IServerObjectExtensionType createExtensionType()
          Creates a new empty server object extension type.
 void createFolder(String folderName)
          Creates a server configuration folder.
 IServerMachine createMachine()
          Creates a new host machine.
 IServerDirectory createServerDirectory()
          Creates a new server directory.
 void deleteConfiguration(String name, String typeName)
          Deletes a server object configuration from the GIS server.
 void deleteExtensionType(String sOTypeName, String sOETypeName)
          Unregisters a server object extension type from the server object type indicated in the argument list.
 void deleteFolder(String folderName)
          Deletes a server configuration folder.
 void deleteMachine(String machineName)
          Deletes a host machine from the GIS server, making it unavailable to host server objects.
 void deleteServerDirectory(String path)
          Deletes a server directory such that its cleanup is no longer managed by the GIS server.
 void denyPermission(String principal, String resource, String operation)
          Revokes permission from the specified principal to perform the given operation on the indicated resource.
 void disable()
          Disables a started SOM.
 void enable()
          Enables a disabled SOM.
 boolean equals(Object o)
          Compare this object with another
 IEnumBSTR getAllPrincipals()
          Enumrates all princiapls in the Permissions Store.
 IStatisticsResults getAllStatisticsForTimeInterval(int event, int period, int index, int length, String name, String type, String machine)
          Gets a set of statistics, such as count, min, max, mean for an event (such as context usage time) for a specified time period.
 IServerObjectConfiguration getConfiguration(String name, String typeName)
          Get the server object configuration with the specified Name and TypeName.
 IEnumServerObjectConfiguration getConfigurations()
          An enumerator over all the server object configurations.
 IEnumServerObjectConfiguration getConfigurationsEx(String folderName)
          An enumerator over all the server object configurations in a server configuration folder.
 IEnumServerObjectConfiguration getConfigurationsEx2(String folderName, int stat)
          An enumerator over all the server object configurations in a server configuration folder.
 IServerObjectConfigurationStatus getConfigurationStatus(String name, String typeName)
          Get the configuration status for a server object configuration with the specified Name and TypeName.
 IEnumServerObjectExtensionType getExtensionTypes(String sOTypeName)
          An enumerator over all the server object extension types.
 IPropertySet getFolderInfo(String folderName)
          Properties associated with a server configuration folder.
 IEnumBSTR getFolders(String folderName)
          An array of folder names in the server configuration folder.
 IServerMachine getMachine(String name)
          Get the host machine with the specified Name.
 IEnumServerMachine getMachines()
          An enumerator over all the GIS server's host machines.
 IPropertySet getProperties()
          The properties for the GIS server.
 IEnumServerDirectory getServerDirectories()
          An enumerator over the GIS server's output directories.
 IServerDirectory getServerDirectory(String path)
          Get the server directory with the specified Path.
 IServerLog getServerLog()
          Retrieves a reference to the ArcGIS Server logs.
 IDoubleArray getSpecificStatisticForTimeIntervals(int event, int function, int period, int index, int length, String name, String type, String machine)
          Gets a specific statistic (such as total count of server contexts created) for a specified time period.
 IEnumServerObjectType getTypes()
          An enumerator over all the server object types.
 int hashCode()
          the hashcode for this object
 boolean isSecurityEnabled()
          Indicates whether security is switched on or off.
 void pauseConfiguration(String name, String typeName)
          Makes the configuration unavailable to clients for processing requests, but does not shut down running instances of server objects, or interrupt requests in progress.
 void renameFolder(String folderName, String newName)
          Renames a server configuration folder.
 void reset()
          Clears out the currently gathered statistics.
 void setFolderInfo(String folderName, IPropertySet ppInfo)
          Properties associated with a server configuration folder.
 void setIsSecurityEnabled(boolean pVal)
          Indicates whether security is switched on or off.
 void setProperties(IPropertySet props)
          The properties for the GIS server.
 void startConfiguration(String name, String typeName)
          Starts a server object configuration and makes it available to clients for processing requests.
 void stopConfiguration(String name, String typeName)
          Stops a server object configuration and shuts down any running instances of server objects defined by the configuration.
 void updateConfiguration(IServerObjectConfiguration config)
          Updates the properties of a server object configuration.
 void updateMachine(IServerMachine machine)
          Updates the properties of a host machine.
 void updateServerDirectory(IServerDirectory pSD)
          Updates the properties of a server directory.
 void validateConfiguration(String name, String typeName)
          Validates server object configuration.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ServerObjectAdmin

public ServerObjectAdmin(Object obj)
                  throws IOException
Construct a ServerObjectAdmin using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ServerObjectAdmin.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
ServerObjectAdmin o = (ServerObjectAdmin)obj; // will not work

ServerObjectAdmin o = new ServerObjectAdmin(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems ServerObjectAdmin theServerObjectAdmin = (ServerObjectAdmin) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

createServerDirectory

public IServerDirectory createServerDirectory()
                                       throws IOException,
                                              AutomationException
Creates a new server directory.

Remarks

Both server objects and server applications typically need to write either temporary data or result data to some location in order for it to be delivered to, or presented to the end user. For example, a map server object's ExportMapImage method can create a image file which is then displayed on a web applicaiton. These files are typically transient and temporary by nature. For example, when a map server write's an image to satisfy a request from a web application, that image is needed only for the time it takes to display it on the web application. An application that creates check out personal geodatabases for download would provide a finite amount of time between which that geodatabase is created and when it can be downloaded.

Because server applications support many user sessions, these output files can accumulate and need to be periodically cleaned up. The server provides the cabability to automatically cleanup these output files if they are written to one of the server's output directories.

Use the CreateServerDirectory method to create a new server directory that you can pass as an argument to the AddServerDirectory method to add new server directories to your GIS Server. Once you have added the server directory, you can configure your server objects and server applications to make use of the server directory.

Note: server directories must be accessible by all host machines configured in the GIS server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
createServerDirectory in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IServerDirectory
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addServerDirectory

public void addServerDirectory(IServerDirectory pSD)
                        throws IOException,
                               AutomationException
Adds a server directory (created with CreateServerDirectory) to the GIS server.

Remarks

Both server objects and server applications typically need to write either temporary data or result data to some location in order for it to be delivered to, or presented to the end user. For example, a map server object's ExportMapImage method can create a image file which is then displayed on a web applicaiton. These files are typically transient and temporary by nature. For example, when a map server write's an image to satisfy a request from a web application, that image is needed only for the time it takes to display it on the web application. An application that creates check out personal geodatabases for download would provide a finite amount of time between which that geodatabase is created and when it can be downloaded.

Because server applications support many user sessions, these output files can accumulate and need to be periodically cleaned up. The server provides the cabability to automatically cleanup these output files if they are written to one of the server's output directories.

Use the CreateServerDirectory method to create a new server directory that you can pass as an argument to the AddServerDirectory method to add new server directories to your GIS Server. Once you have added the server directory, you can configure your server objects and server applications to make use of the server directory.

Note: server directories must be accessible by all host machines configured in the GIS server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addServerDirectory in interface IServerObjectAdmin
Parameters:
pSD - A reference to a com.esri.arcgis.server.IServerDirectory (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateServerDirectory

public void updateServerDirectory(IServerDirectory pSD)
                           throws IOException,
                                  AutomationException
Updates the properties of a server directory.

Remarks

The UpdateServerDirectory method will update the ServerDirectory that is specified when the method is called. You can use the GetServerDirectory or GetServerDirectories methods on IServerObjectAdmin to get a reference to the ServerDirectory you want to update.

The UpdateServerDirectory is useful for modifying the cleanup mode (CleaningMode ) and cleanup schedule.

Note: server directories must be accessible by all host machines configured in the GIS server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateServerDirectory in interface IServerObjectAdmin
Parameters:
pSD - A reference to a com.esri.arcgis.server.IServerDirectory (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteServerDirectory

public void deleteServerDirectory(String path)
                           throws IOException,
                                  AutomationException
Deletes a server directory such that its cleanup is no longer managed by the GIS server. It does not delete the physical directory from disk.

Remarks

The DeleteServerDirectory method removes a directory from the set of directories managed by the GIS server. The DeleteServerDirectory method will not affect the physical directory.

When a server directory is removed with this method, the GIS Server will not longer manage the cleanup of output files written to that directory. Applicaitons or server objects that are configured to write their output to the physical directory that is referenced by the server directory will continue to work, but the files they write will not be cleaned up by the server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteServerDirectory in interface IServerObjectAdmin
Parameters:
path - The path (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getServerDirectory

public IServerDirectory getServerDirectory(String path)
                                    throws IOException,
                                           AutomationException
Get the server directory with the specified Path.

Remarks

The GetServerDirectory method returns the IServerDirectory interface on the ServerDirectory whose path is specified. Once you have a reference to the ServerDirectory, you can get and set its properties, and use it as input the UpdateServerDirectery method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getServerDirectory in interface IServerObjectAdmin
Parameters:
path - The path (in)
Returns:
A reference to a com.esri.arcgis.server.IServerDirectory
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getServerDirectories

public IEnumServerDirectory getServerDirectories()
                                          throws IOException,
                                                 AutomationException
An enumerator over the GIS server's output directories.

Remarks

Both server objects and server applicaitons typically need to write either temporary data or result data to some location in order for it to be delivered to, or presented to the end user. For example, a map server object's ExportMapImage method can create a image file which is then displayed on a web applicaiton. These files are typically transient and temporary by nature. For example, when a map server writes an image to satisfy a request from a web application, that image is needed only for the time it takes to display it on the web application. An application that creates check out personal geodatabases for download would provide a finite amount of time between which that geodatabase is created and when it can be downloaded.

Because server applications support many user sessions, these output files can accumulate and need to be periodically cleaned up. The server provides the cabability to automatically cleanup these output files if they are written to one of the server's output directories.

The GetServerDirectories method returns a enumeration of all the server directories that are managed by the server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getServerDirectories in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IEnumServerDirectory
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createConfiguration

public IServerObjectConfiguration createConfiguration()
                                               throws IOException,
                                                      AutomationException
Creates a new server object configuration.

Remarks

The CreateConfiguration method will create a new ServerObjectConfiguration that you can add to your ArcGIS Server. The CreateConfiguration method returns the IServerObjectConfiguration interface on the new ServerObjectConfiguration. Use the IServerObjectConfiguration interface to set the various properties of the configuration, then use the AddConfiguration method on IServerObjectAdmin to add the new configuration to the ArcGIS Server.

Once a configuration is added to the server, you can use the StartConfiguration and EnableConfiguration to make it available for applications to use.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
createConfiguration in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IServerObjectConfiguration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addConfiguration

public void addConfiguration(IServerObjectConfiguration config)
                      throws IOException,
                             AutomationException
Adds a server object configuration (created with CreateConfiguration) to the GIS server.

Remarks

The AddConfiguration method will add a ServerObjectConfiguration to your ArcGIS Server. A new ServerObjectConfiguration can be created using the CreateConfiguration method. Use the IServerObjectConfiguration interface to set the various properties of the configuration, then use the AddConfiguration method on IServerObjectAdmin to add the new configuration to the ArcGIS Server.

Once a configuration is added to the server, you can use StartConfiguration to make it available for applications to use.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addConfiguration in interface IServerObjectAdmin
Parameters:
config - A reference to a com.esri.arcgis.server.IServerObjectConfiguration (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfiguration

public IServerObjectConfiguration getConfiguration(String name,
                                                   String typeName)
                                            throws IOException,
                                                   AutomationException
Get the server object configuration with the specified Name and TypeName.

Remarks

The GetConfiguration method returns the IServerObjectConfiguration interface on the ServerObjectConfiguration specified by name and type. Once you have a reference to the ServerObjectConfiguration, you can get and set its properties, and use it as input the UpdateConfiguration method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfiguration in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Returns:
A reference to a com.esri.arcgis.server.IServerObjectConfiguration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateConfiguration

public void updateConfiguration(IServerObjectConfiguration config)
                         throws IOException,
                                AutomationException
Updates the properties of a server object configuration.

Remarks

The UpdateConfiguration method will update the ServerObjectConfiguration that is specified when the method is called. You can use the GetConfiguration or GetConfigurations methods on IServerObjectAdmin to get a reference to the ServerObjectConfiguration you want to update.

Note that the server object configuration must be stopped before you call UpdateConfiguration. You can use StopConfiguration to stop the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateConfiguration in interface IServerObjectAdmin
Parameters:
config - A reference to a com.esri.arcgis.server.IServerObjectConfiguration (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteConfiguration

public void deleteConfiguration(String name,
                                String typeName)
                         throws IOException,
                                AutomationException
Deletes a server object configuration from the GIS server.

Remarks

Use DeleteConfiguration to delete a server object configuration from you GIS Server. Note, in order to call DeleteConfiguration, the server object configuration must be stopped. If it is not stopped, then DeleteConfiguration will return an error.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteConfiguration in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurations

public IEnumServerObjectConfiguration getConfigurations()
                                                 throws IOException,
                                                        AutomationException
An enumerator over all the server object configurations.

Remarks

GetConfigurations returns an enumeration (IEnumServerObjectConfiguration) of IServerObjectConfiguration for configurations of any esriConfigurationStatus from all folders.

These Info objects provide information about the server object configurations and types that are required to make use of them in an application.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfigurations in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IEnumServerObjectConfiguration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationStatus

public IServerObjectConfigurationStatus getConfigurationStatus(String name,
                                                               String typeName)
                                                        throws IOException,
                                                               AutomationException
Get the configuration status for a server object configuration with the specified Name and TypeName.

Remarks

The GetConfigurationStatus method will return the IServerObjectConfigurationStatus interface on a particular server object configuration. This interface provides information as to the number of instances of that configuration that are running, and the number in use. It provides information as to the startup status of the configuration.

You can use this interface to monitor server object configuration usage. For example, you can use the InstanceInUseCount to determine if any instances of the configuration are in use before stopping the configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfigurationStatus in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Returns:
A reference to a com.esri.arcgis.server.IServerObjectConfigurationStatus
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTypes

public IEnumServerObjectType getTypes()
                               throws IOException,
                                      AutomationException
An enumerator over all the server object types.

Remarks

The GetTypes methid returns an enumeration of the server object types that are installed in the GIS Server. By default, the MapServer and GeocodeServer object types are installed in the server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTypes in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IEnumServerObjectType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startConfiguration

public void startConfiguration(String name,
                               String typeName)
                        throws IOException,
                               AutomationException
Starts a server object configuration and makes it available to clients for processing requests.

Remarks

The start configuration method will start the server object configuration and make it available for use by clients. When a server object configuration is started, if it is a pooled configuration, the minimum number of server objects as described by the configuration will be pre-loaded. The StartConfiguration method will complete only when all the server object instances have been created to satisfy the minimum.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
startConfiguration in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopConfiguration

public void stopConfiguration(String name,
                              String typeName)
                       throws IOException,
                              AutomationException
Stops a server object configuration and shuts down any running instances of server objects defined by the configuration.

Description

The StopConfiguration method stops a server object configuration. Stopping a server object configuration both makes the server object configuration unusable by clients (calls to CreateServerObject referencing the configuration will fail), and it also shuts down any of the confiuration's running server objects. If any of those objects are in use and executing requests, they will be interupted and shut down.

You should stop a configuration when you need to change its properties (such as pooling model or recycling model). Use the StartConfiguration method to re-start the configuration.

If you want to stop the confuguration without interupting clients which are making use of server objects, you can pause the configuration using PauseConfiguration and wait until such a time that all server object usage has ended, then call StopConfiguration to stop the configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopConfiguration in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pauseConfiguration

public void pauseConfiguration(String name,
                               String typeName)
                        throws IOException,
                               AutomationException
Makes the configuration unavailable to clients for processing requests, but does not shut down running instances of server objects, or interrupt requests in progress.

Remarks

The PauseConfiguration method will pause the server object configuration. Pausing the configuration does not interupt any requests that are being executed by instances of server objects managed by that configuration. A paused server object, hevever, will refuse future requests.

You should pause server objects if you want to lock requests from being processed, but you want requests in process to complete. Once all objects are not longer in use, you can perform necessary operations (such as database maintenance, stopping the server object configuration to changes properties, etc). Use the GetConfigurationStatus and IServerObjectConfigurationStatus to determine if any server objects are in use.

Use the StartConfiguration method to resume the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pauseConfiguration in interface IServerObjectAdmin
Parameters:
name - The name (in)
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createMachine

public IServerMachine createMachine()
                             throws IOException,
                                    AutomationException
Creates a new host machine.

Remarks

ArcGIS Server is a distributed system. Server objects managed by the GIS server run on one or more host machines. A machine that can host server objects must can the Server Object Container installed on it, and the machine must be added to the list of host machines managed by the Server Object Manager.

Use the CreateMachine method to create a new server machine that you can pass as an argument to the AddMachine method to add new host machines to your GIS Server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
createMachine in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IServerMachine
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addMachine

public void addMachine(IServerMachine machine)
                throws IOException,
                       AutomationException
Adds a host machine (created with CreateMachine) to the GIS server.

Remarks

ArcGIS Server is a distributed system. Server objects managed by the GIS server run on one or more host machines. A machine that can host server objects must can the Server Object Container installed on it, and the machine must be added to the list of host machines managed by the Server Object Manager.

Use the AddMachine method to add new host machines to your GIS Server. Once a machine has been added to the GIS server, as new server object instances are created, the server object manager will make use of the new machine.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addMachine in interface IServerObjectAdmin
Parameters:
machine - A reference to a com.esri.arcgis.server.IServerMachine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMachines

public IEnumServerMachine getMachines()
                               throws IOException,
                                      AutomationException
An enumerator over all the GIS server's host machines.

Remarks

A server object configuration can be configured such that its server objects run on one or more host machines that have been added to the ArcGIS Server. Use the GetMachines method to get the names of the machines that have been added to the server to host server objects.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMachines in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.server.IEnumServerMachine
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteMachine

public void deleteMachine(String machineName)
                   throws IOException,
                          AutomationException
Deletes a host machine from the GIS server, making it unavailable to host server objects.

Remarks

The DeleteMachine method removes a machine from the machines that can host server objects for the GIS server. When you delete a machine, any instances of server objects that are running on that machine will be shut down and replaced with instances running on the GIS server's other host machines.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteMachine in interface IServerObjectAdmin
Parameters:
machineName - The machineName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMachine

public IServerMachine getMachine(String name)
                          throws IOException,
                                 AutomationException
Get the host machine with the specified Name.

Remarks

The GetMachine method returns the IServerMachine interface on the ServerMachine whoes name is specified. Once you have a reference to the ServerMachine, you can get and set its description, and use it as input the UpdateMachine method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMachine in interface IServerObjectAdmin
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.server.IServerMachine
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateMachine

public void updateMachine(IServerMachine machine)
                   throws IOException,
                          AutomationException
Updates the properties of a host machine.

Remarks

The UpdateMachine method will update the host machine that is specified when the method is called. You can use the GetMachine or GetMachines methods on IServerObjectAdmin to get a reference to the machine you want to update.

The UpdateMachine is useful for modifying the machine's description.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
updateMachine in interface IServerObjectAdmin
Parameters:
machine - A reference to a com.esri.arcgis.server.IServerMachine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperties

public IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
The properties for the GIS server.

Remarks

The Properties property on IServerObjectAdmin returns the logging properties for the GIS server. The properties are for the GIS server's logging, and for server object creation timeout.

The GIS server logs its activity, including server object configuration sartup, shutdown, server context creation and shutdown, as well as errors generated through any failed operation or request in the GIS server.

You can control the logging properties through the PropertySet returned by Properties. The following is a description of the logging properties:

LogPath: this is the path to the location on disk that log files are writeen. By default, the LogPath is <install location>\log

LogSize: this is the size to which a single log file can graw (in MB) before a new logfile is created. By default, the LogSize is 10

LogLevel: this is a number between 0 and 5 which indicates the level of detail that the server logs. By default, the LogLevel is 3. The following is a description of the each log level:

All aspects of logging can be changed when the GIS server is running. When they are changed, the server will immediatly use the new logging settings.

Server object creation may hang for a variety of reasons. To prevent this from adversly affecting the GIS server, it has a ConfigurationStartTimeout property which defines the maximim time in seconds a server object instance has to initialize itself before its creation is cancelled.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getProperties in interface IServerObjectAdmin
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProperties

public void setProperties(IPropertySet props)
                   throws IOException,
                          AutomationException
The properties for the GIS server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setProperties in interface IServerObjectAdmin
Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionTypes

public IEnumServerObjectExtensionType getExtensionTypes(String sOTypeName)
                                                 throws IOException,
                                                        AutomationException
An enumerator over all the server object extension types.

Remarks

Server object extensions can be designated by a type name, description and class ID. The GetExtensionTypes method of the IServerObjectAdmin2 interface provides a reference to an enumeration of IServerObjectExtensionTypes. IServerObjectExtensionType has methods that can be interrogated for type name, description and class ID.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getExtensionTypes in interface IServerObjectAdmin2
Parameters:
sOTypeName - The sOTypeName (in)
Returns:
A reference to a com.esri.arcgis.server.IEnumServerObjectExtensionType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getServerLog

public IServerLog getServerLog()
                        throws IOException,
                               AutomationException
Retrieves a reference to the ArcGIS Server logs.

Remarks

The ServerLog property of the IServerObjectAdmin2 interface is a reference to an IServerLog interface. The IServerLog interface is used to query and retrieve records from the logs on disk.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getServerLog in interface IServerObjectAdmin2
Returns:
A reference to a com.esri.arcgis.server.IServerLog
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enable

public void enable()
            throws IOException,
                   AutomationException
Enables a disabled SOM.

Remarks

The Enable method of the IServerObjectAdmin2 interface enables a previously disabled SOM. Using this method on a currently enabled SOM has no effect. Server objects that had been disabled will be immediately available.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
enable in interface IServerObjectAdmin2
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disable

public void disable()
             throws IOException,
                    AutomationException
Disables a started SOM.

Remarks

The Disable method of the IServerObjectAdmin2 interface disables a SOM. This prevents further communication with any server objects until the Enable method is called. Diabling a SOM does not remove server objects from RAM. When the SOM is enabled again, the server objects will be immediately available.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
disable in interface IServerObjectAdmin2
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createExtensionType

public IServerObjectExtensionType createExtensionType()
                                               throws IOException,
                                                      AutomationException
Creates a new empty server object extension type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
createExtensionType in interface IServerObjectAdmin2
Returns:
A reference to a com.esri.arcgis.server.IServerObjectExtensionType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addExtensionType

public void addExtensionType(String sOTypeName,
                             IServerObjectExtensionType pSOEType)
                      throws IOException,
                             AutomationException
Registers a new server object extension type with the server object type indicated in the argument list.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
addExtensionType in interface IServerObjectAdmin2
Parameters:
sOTypeName - The sOTypeName (in)
pSOEType - A reference to a com.esri.arcgis.server.IServerObjectExtensionType (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteExtensionType

public void deleteExtensionType(String sOTypeName,
                                String sOETypeName)
                         throws IOException,
                                AutomationException
Unregisters a server object extension type from the server object type indicated in the argument list.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
deleteExtensionType in interface IServerObjectAdmin2
Parameters:
sOTypeName - The sOTypeName (in)
sOETypeName - The sOETypeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFolder

public void createFolder(String folderName)
                  throws IOException,
                         AutomationException
Creates a server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
createFolder in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteFolder

public void deleteFolder(String folderName)
                  throws IOException,
                         AutomationException
Deletes a server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
deleteFolder in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

renameFolder

public void renameFolder(String folderName,
                         String newName)
                  throws IOException,
                         AutomationException
Renames a server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
renameFolder in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
newName - The newName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFolders

public IEnumBSTR getFolders(String folderName)
                     throws IOException,
                            AutomationException
An array of folder names in the server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getFolders in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFolderInfo

public IPropertySet getFolderInfo(String folderName)
                           throws IOException,
                                  AutomationException
Properties associated with a server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getFolderInfo in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFolderInfo

public void setFolderInfo(String folderName,
                          IPropertySet ppInfo)
                   throws IOException,
                          AutomationException
Properties associated with a server configuration folder.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setFolderInfo in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
ppInfo - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationsEx

public IEnumServerObjectConfiguration getConfigurationsEx(String folderName)
                                                   throws IOException,
                                                          AutomationException
An enumerator over all the server object configurations in a server configuration folder.

Remarks

GetConfigurationEx returns an enumeration (IEnumServerObjectConfiguration) of IServerObjectConfiguration for configurations of any esriConfigurationStatus from the folder specified.

Some folderNames have special significance:

folderName == “” means “root”.

folderName == “NULL” means “all folders and root”

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getConfigurationsEx in interface IServerObjectAdmin2
Parameters:
folderName - The folderName (in)
Returns:
A reference to a com.esri.arcgis.server.IEnumServerObjectConfiguration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateConfiguration

public void validateConfiguration(String name,
                                  String typeName)
                           throws IOException,
                                  AutomationException
Validates server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
validateConfiguration in interface IServerObjectAdmin2
Parameters:
name - The name (in)
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationsEx2

public IEnumServerObjectConfiguration getConfigurationsEx2(String folderName,
                                                           int stat)
                                                    throws IOException,
                                                           AutomationException
An enumerator over all the server object configurations in a server configuration folder.

Remarks

GetConfigurationsEx2 returns an enumeration (IEnumServerObjectConfiguration) of IServerObjectConfiguration for configurations of a specific esriConfigurationStatus from the folder specified.

Some folderNames have special significance:

folderName == “” means “root”.

folderName == “NULL” means “all folders and root”

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getConfigurationsEx2 in interface IServerObjectAdmin3
Parameters:
folderName - The folderName (in)
stat - A com.esri.arcgis.server.esriConfigurationStatus constant (in)
Returns:
A reference to a com.esri.arcgis.server.IEnumServerObjectConfiguration
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSecurityEnabled

public boolean isSecurityEnabled()
                          throws IOException,
                                 AutomationException
Indicates whether security is switched on or off.

Remarks

IsSecurityEnabled has a Default value of OFF.

This switch does NOT affect

- any methods called on IServerObjectAdmin, IServerObjectAdmin2 or IServerObjectAdmin3

- any methods called on IServerObjectManager, IServerObjectManager2, IServerObjectManager3 or IServerObjectManager4 obtained from IGISServerConnection.ServerObjectManager..

This swtich DOES affect the following IServerObjectManager methods only when the interfaces are accessed through IGISServerConnection2.ServerObjectManager:

 IServerObjectManager.CreateServerContext

 IServerObjectManager.GetConfigurationInfo

 IServerObjectManager.GetConfigurationInfos



 IServerObjectManager2.GetConfigurationInfosEx

 IServerObjectManager2.GetFolders

 IServerObjectManager2.FolderInfo

 IServerObjectManager2.GetConfigurationStatus



 IServerObjectManager3.GetConfigurationInfosEx2

In the case that a user does not have permissions to access a particular resource (e.g configuration or folder ), each of the methods above will return ACCESSDENIED errors and produce the following error message:

"User X does not have sufficient permissions to access Y."

When a user obtains a list of configurations, configurationInfos or Folders it will NOT contain resources to which the user does not have access.

VERY IMPORTANT - If you disable security through the API with a call to IPermissionsAdmin.IsSecurityEnabled = false, you will have exposed all of your web services to the public internet and security will be defeated. Disable security at your own risk!

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isSecurityEnabled in interface IServerObjectAdmin4
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsSecurityEnabled

public void setIsSecurityEnabled(boolean pVal)
                          throws IOException,
                                 AutomationException
Indicates whether security is switched on or off.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setIsSecurityEnabled in interface IServerObjectAdmin4
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Clears out the currently gathered statistics.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
reset in interface IServerStatistics
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpecificStatisticForTimeIntervals

public IDoubleArray getSpecificStatisticForTimeIntervals(int event,
                                                         int function,
                                                         int period,
                                                         int index,
                                                         int length,
                                                         String name,
                                                         String type,
                                                         String machine)
                                                  throws IOException,
                                                         AutomationException
Gets a specific statistic (such as total count of server contexts created) for a specified time period.

Remarks

Use the GetSpecificStatisticForTimeIntervals method to query the GIS server for a specific statistic for an event at descrete time intervals. For example you can use this method to get the count of all server contexts that were created for each minute of the last hour.

The server event is specified by the event argument, and the statistical function to qeury is specified by the function argument.

This method can be used to query based on the the events occuring in the server as a whole (i.e. accross all host machines), or for those occuring on a specific host machine. Additionally, these methods can be used to query based on the events using all server objects, or for events on a particular server object.

To specify a specific machine, specify its name for the machine argument. For all machines, use a blank string for the machine argument.

To specify a specific server object, specify its name for the Name argument and type for the Type argument. For all server objects, use a blank string for both name and type.

You specify the time interval for which you want to query using an index of time periods relative to the current time based on the time period described by esriServerTimePeriod. The index argument to the GetSpecificStatisticForTimeIntervals method describes the index of the time period to start from, and the length argument describes the number of time periods to query.

For example, to query for statics for each hour in the last 2 hours, specify a time period of esriSTPHour, an index of 0 and a length of 2.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpecificStatisticForTimeIntervals in interface IServerStatistics
Parameters:
event - A com.esri.arcgis.server.esriServerStatEvent constant (in)
function - A com.esri.arcgis.server.esriServerStatFunction constant (in)
period - A com.esri.arcgis.server.esriServerTimePeriod constant (in)
index - The index (in)
length - The length (in)
name - The name (in)
type - The type (in)
machine - The machine (in)
Returns:
A reference to a com.esri.arcgis.system.IDoubleArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllStatisticsForTimeInterval

public IStatisticsResults getAllStatisticsForTimeInterval(int event,
                                                          int period,
                                                          int index,
                                                          int length,
                                                          String name,
                                                          String type,
                                                          String machine)
                                                   throws IOException,
                                                          AutomationException
Gets a set of statistics, such as count, min, max, mean for an event (such as context usage time) for a specified time period.

Remarks

Use the GetAllStatisticsForTimeInterval to query the GIS server for all statistics for an event. For example you can use this method to get the sum, mean, etc of server contexts usage time for the last 2 days.

The server event is specified by the event argument, and the statistical function to qeury is specified by the function argument.

This method can be used to query based on the the events occuring in the server as a whole (i.e. accross all host machines), or for those occuring on a specific host machine. Additionally, these methods can be used to query based on the events using all server objects, or for events on a particular server object.

To specify a specific machine, specify its name for the machine argument. For all machines, use a blank string for the machine argument.

To specify a specific server object, specify its name for the Name argument and type for the Type argument. For all server objects, use a blank string for both name and type.

You specify the time interval for which you want to query using an index of time periods relative to the current time based on the time period described by esriServerTimePeriod. The index argument to the GetAllStatisticsForTimeInterval method describes the index of the time period to start from, and the length argument describes the number of time periods to query.

For example, to query for all statics in the last 2 hours, specify a time period of esriSTPHour, an index of 0 and a length of 2.

To query for all statistics since the server started, specify a time period of esriSTPNone, an index of 0 and a length of 1.

If you are unsure of the actual time period that the results of your query reflect, use the IServerTimeRange interface to get a report of the actual time period that your queries results reflect.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAllStatisticsForTimeInterval in interface IServerStatistics
Parameters:
event - A com.esri.arcgis.server.esriServerStatEvent constant (in)
period - A com.esri.arcgis.server.esriServerTimePeriod constant (in)
index - The index (in)
length - The length (in)
name - The name (in)
type - The type (in)
machine - The machine (in)
Returns:
A reference to a com.esri.arcgis.system.IStatisticsResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

allowPermission

public void allowPermission(String principal,
                            String resource,
                            String operation)
                     throws IOException,
                            AutomationException
Grants permission to the specified principal to perform the given operation on the indicated resource.

Remarks

When using role-based security in ArcGIS Server, security for resources (GIS Services and folders containing GIS Services) is managed by allowing or denying a principal permissions for all operations on a resource.

Use the AllowPermissions method to allow a principal access to perform any operation on a specified resource. Once the allow permission has been granted it can be removed explicitly using the DenyPermissions method or implicitly through the continuous inheritance model.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
allowPermission in interface IPermissionsAdmin
Parameters:
principal - The principal (in)
resource - The resource (in)
operation - The operation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

denyPermission

public void denyPermission(String principal,
                           String resource,
                           String operation)
                    throws IOException,
                           AutomationException
Revokes permission from the specified principal to perform the given operation on the indicated resource.

Remarks

When using role-based security in ArcGIS Server, security for resources (GIS Services and folders containing GIS Services) is managed by allowing or denying a principal permissions for all operations on a resource.

Use the DenyPermissions method to deny a principal access to perform any operation on a specified resource. Once the permission has been revoked it can be restored explicitly using the AllowPermissions method or implicitly through the continuous inheritance model.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
denyPermission in interface IPermissionsAdmin
Parameters:
principal - The principal (in)
resource - The resource (in)
operation - The operation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllPrincipals

public IEnumBSTR getAllPrincipals()
                           throws IOException,
                                  AutomationException
Enumrates all princiapls in the Permissions Store.

Remarks

Use the GetAllPrincipals method to return an enumeration over all the principals with allow/deny rules in the ArcGIS Server security model.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getAllPrincipals in interface IPermissionsAdmin
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

cleanPermissions

public void cleanPermissions(String principal)
                      throws IOException,
                             AutomationException
Removes all permissions for a particular principal.

Remarks

Use the CleanPermissions method to delete all allow/deny rules from all resources associated with the specified principal.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
cleanPermissions in interface IPermissionsAdmin2
Parameters:
principal - The principal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.