com.esri.arcgis.geodatabasedistributed
Class GeoDataServer

java.lang.Object
  extended by com.esri.arcgis.geodatabasedistributed.GeoDataServer
All Implemented Interfaces:
IGeoDataServer, IGeoDataServer2, IGeoDataServerInit, IGeoDataServerObjects, com.esri.arcgis.interop.RemoteObjRef, IServerObject, IServerObjectExtensionManager, ILogSupport, IObjectActivate, IObjectConstruct, IRequestHandler, IRequestHandler2, IRESTRequestHandler, ISupportErrorInfo, Serializable

public class GeoDataServer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IGeoDataServer, IGeoDataServer2, IGeoDataServerInit, IObjectConstruct, IRequestHandler, IRequestHandler2, IGeoDataServerObjects, IObjectActivate, ILogSupport, ISupportErrorInfo, IServerObject, IServerObjectExtensionManager, IRESTRequestHandler

The GeoDataServer component provides programmatic access to a geodatabase.

Remarks

The GeoDataServer coclass represents a connection to a geodatabase. It exposes methods to perform geodatabase replication operations, makes copies using data extraction, and query and browse a geodatabase. A GeoDataServer may be initalized with a local geodatabase or it may be accessed as a service published inside ArcGIS for Server. Through ArcGIS for Server, you can use a GeoDataServer to perform geodatabase operations on a remote geodatabase over the Internet.

Product Availability

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.system.IRequestHandler
IID, IID46a0e2ea_3b64_4a46_bd78_88a1660f35bb, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IObjectActivate
IID, IIDe3b78022_143e_4e61_9099_ed319ec061e7, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IRESTRequestHandler
IID, IID9d66a418_d54a_48ed_88bd_043a25fa9c83, xxDummy
 
Constructor Summary
GeoDataServer()
          Constructs a GeoDataServer using ArcGIS Engine.
GeoDataServer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeoDataServer theGeoDataServer = (GeoDataServer) obj;
 
Method Summary
 void activate()
          Activates the object.
 IGDSData compareReplicaSchema(IGDSData relativeReplicaSchemaDoc, int transportType)
          Compares the schema of a replica with that of its relative, and returns a schema changes XML document.
 void construct(IPropertySet props)
          Two phase object construction.
 IGDSData createReplica(String parentVersion, String replicaName, IGPReplicaDescription replicaDesc, IGPReplicaOptions repOptions, IGDSExportOptions exportOptions, int transportType)
          Creates a Replica.
 void deactivate()
          Deactivates the object.
 boolean equals(Object o)
          Compare this object with another
 IGPReplicaDatasets expandReplicaDatasets(IGPReplicaDatasets repDatasets)
          Expands a set of replica datasets taking into consideration geodatabase constructs (topologies, relationship classes, etc.).
 IGPReplicaDatasets expandReplicaDatasets2(IGPReplicaDatasets gPReplicaDatasets, IGPReplicaOptions replicaOptions)
          Expands a set of replica datasets taking into consideration geodatabase constructs (topologies, relationship classes, etc.).
 IGDSData exportAcknowledgement(String replicaName, int transportType)
          Export an acknowledgement message for a replica.
 IGDSData exportReplicaDataChanges(String replicaName, IGDSExportOptions options, int transportType, int generationsToExport, boolean switchRole)
          Exports data changes for a replica.
 IGDSData exportReplicaSchema(String replicaName, int transportType)
          Exports the schema of a replica to an Xml document.
 IGDSData extractData(String versionName, IGPReplicaDescription replicaDesc, IGDSExportOptions options, int transportType)
          Extract Data.
 IServerObjectExtension findExtensionByCLSID(String cLSID)
          Returns a server object extension found using a string representation of its class ID.
 IServerObjectExtension findExtensionByTypeName(String name)
          Returns a server object extension found using its type name.
static String getClsid()
          getClsid.
 String getConfigurationName()
          Name of the server object configuration that defines the server object.
 IDataElements getDataElements(IDEBrowseOptions pBrowseOptions)
          The data elements in the workspace.
 String getDefaultWorkingVersion()
          The default working version for all operations/methods.
 IWorkspace getDefaultWorkingWorkspace()
          The default working workspace for the geodata server.
 int getMaxRecordCount()
          The maximum number of records to be returned by a search.
 IGDSQueryResultPortion getNextResultPortion(IResultPortionInfo desiredRange)
          Gets the next portion of the results.
 String getPhysicalOutputDirectory()
          The physical directory for output files.
 IGPReplica getReplica(String replicaName)
          Return the replica in the workspace that has a specific name.
 IGPReplicas getReplicas()
          The replicas in the workspace.
 String getSchema()
          This method returns the resource hierarchy of a REST based SOE.
 String getTypeName()
          Type of the server object (MapServer or GeocodeServer).
 IGPVersionInfos getVersions()
          The versions in the workspace.
 String getVirtualOutputDirectory()
          The virtual directory for output files.
 int getWrappedWorkspaceType()
          The type of the geodatabase the geodataserver operates on.
 byte[] handleBinaryRequest(byte[] request)
          Handles a binary request.
 byte[] handleBinaryRequest2(String capabilities, byte[] request)
          Handles a binary request with explicit capabilities.
 byte[] handleRESTRequest(String capabilities, String resourceName, String operationName, String operationInput, String outputFormat, String requestProperties, String[] responseProperties)
          Handles REST requests for SOE.
 String handleStringRequest(String capabilities, String request)
          Handles a SOAP string request.
 int hashCode()
          the hashcode for this object
 void importAcknowledgement(IGDSData data)
          Import an acknowledgement message for a replica.
 void importData(IGDSData pData, int fmt)
          Imports data into the workspace.
 boolean importReplicaDataChanges(int sourceType, int reconcilePolicy, boolean columnLevel, IGDSData data)
          Import the data changes for a replica.
 void importReplicaSchemaChanges(IGDSData schemaChangesDoc)
          Updates the schema of the replica with the changes in an schema changes XML document.
 void initFromConnectionString(String connectionString)
          Initializes a GeoDataServer object from a connection string to a geodatabase.
 void initFromFile(String file)
          Initializes a GeoDataServer object from a geodatabase or an sde connection file (*.sde).
 void initFromMap(String filePath)
          Initializes a GeoDataServer object with a map document.
 void initLogging(ILog log)
          Initializes an object with a log.
 void initWithWorkspace(IWorkspace pWorkspace)
          Initializes a GeoDataServer object with a workspace.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 IGDSData reExportReplicaDataChanges(String replicaName, IGDSExportOptions options, int transportType, int gensToExport)
          Re-exports data changes for a replica.
 void setMaxRecordCount(int count)
          The maximum number of records returned for query results.
 void setPhysicalOutputDirectory(String dirPath)
          The physical directory for output files.
 void setVirtualOutputDirectory(String dirPath)
          The virtual directory for output files.
 IGDSQueryResultPortion tableSearch(String versionName, String tableName, IQueryFilter queryFilter, IResultPortionInfo queryRange)
          Returns the records satisfying the specified query.
 void unregisterReplica(String replicaName)
          Unregisters the replica.
 
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

GeoDataServer

public GeoDataServer()
              throws IOException,
                     UnknownHostException
Constructs a GeoDataServer using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

GeoDataServer

public GeoDataServer(Object obj)
              throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeoDataServer theGeoDataServer = (GeoDataServer) obj;

Construct a GeoDataServer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to GeoDataServer.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

getMaxRecordCount

public int getMaxRecordCount()
                      throws IOException,
                             AutomationException
The maximum number of records to be returned by a search.

Remarks

The MaxRecordCount returns the maximum number of records that can be returned at once by a search. This value is stored as a configuration parameter with GeoDataServers publised on ArcGIS for Server. When intializing GeoDataServers from local geodatabases, you can set this value using the IGeoDataServerInit::MaxRecordCount property.

The TableSearch and GetNextResultPortion methods use this value to determine the maximum number of records that can be returned at once.

Product Availability

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

Specified by:
getMaxRecordCount in interface IGeoDataServer
Specified by:
getMaxRecordCount in interface IGeoDataServerInit
Returns:
The maxCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataElements

public IDataElements getDataElements(IDEBrowseOptions pBrowseOptions)
                              throws IOException,
                                     AutomationException
The data elements in the workspace.

Product Availability

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

Specified by:
getDataElements in interface IGeoDataServer
Parameters:
pBrowseOptions - A reference to a com.esri.arcgis.geodatabase.IDEBrowseOptions (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataElements
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersions

public IGPVersionInfos getVersions()
                            throws IOException,
                                   AutomationException
The versions in the workspace.

Remarks

If the GeoDataServer references an ArcSDE geodatabase, the Versions property returns the versions in the geodatabase.

Product Availability

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

Specified by:
getVersions in interface IGeoDataServer
Returns:
A reference to a com.esri.arcgis.geodatabase.IGPVersionInfos
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReplicas

public IGPReplicas getReplicas()
                        throws IOException,
                               AutomationException
The replicas in the workspace.

Remarks

The Replicas property returns a list of the replicas from the geodatabase referenced by the GeoDataServer.

Product Availability

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

Specified by:
getReplicas in interface IGeoDataServer
Returns:
A reference to a com.esri.arcgis.geodatabase.IGPReplicas
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultWorkingVersion

public String getDefaultWorkingVersion()
                                throws IOException,
                                       AutomationException
The default working version for all operations/methods.

Remarks

If the GeoDataServer references an ArcSDE geodatabase, the DefaultWorkingVersion property returns the version used by default for GeoDataServer operations. Some methods, such as IGeoDataServer::CreateReplica allow you to reference a different version from which to execute the method.

Product Availability

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

Specified by:
getDefaultWorkingVersion in interface IGeoDataServer
Returns:
The defaultWorkingVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWrappedWorkspaceType

public int getWrappedWorkspaceType()
                            throws IOException,
                                   AutomationException
The type of the geodatabase the geodataserver operates on.

Product Availability

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

Specified by:
getWrappedWorkspaceType in interface IGeoDataServer
Returns:
A com.esri.arcgis.geodatabase.esriWorkspaceType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractData

public IGDSData extractData(String versionName,
                            IGPReplicaDescription replicaDesc,
                            IGDSExportOptions options,
                            int transportType)
                     throws IOException,
                            AutomationException
Extract Data.

Remarks

The extractData method extracts schema and data from the geodatabase represented by the GeoDataServer in a disconnected environment. To extract data in a connected environment, see IReplicationAgent::ExtractData.

If the GeoDataServer references an ArcSDE geodatabase, the versionName parameter defines the version from which the data will be extracted.

The replicaDesc parameter is a description of the data to extract as well as various settings that define how the data will be extracted. For example, you can set a spatial filter and specify whether or not to include related data. See the GPReplicaDescription coclass for more information.

The options parameter defines the output of the method. This includes the outut format and whether or not the output will be compressed. See GDSExportOptions for more information.

If exporting to XML or FileGDBTransport, the output of this method can be used with the ImportData method to import the data into a destination geodatabase. If exporting to a file geodatabase or personal geodatabase, the output geodatabase can be used directly.

The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

When executed, the method returns a GDSData object. See the GDSData coclass for more information.

Product Availability

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

Specified by:
extractData in interface IGeoDataServer
Parameters:
versionName - The versionName (in)
replicaDesc - A reference to a com.esri.arcgis.geodatabase.IGPReplicaDescription (in)
options - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSExportOptions (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createReplica

public IGDSData createReplica(String parentVersion,
                              String replicaName,
                              IGPReplicaDescription replicaDesc,
                              IGPReplicaOptions repOptions,
                              IGDSExportOptions exportOptions,
                              int transportType)
                       throws IOException,
                              AutomationException
Creates a Replica.

Remarks

This method is used to create a replica in a disconected environment. You may create either a two way replica, a one way replica or a check-out replica. To create replicas in a connected environment, see IReplicationAgent2::CreateReplica2.

The parentVersion parameter is the version on the geodatabase represented by the geodatataserver that the replica will be created from. ReplicaName is the name for the replica.

The replicaDesc parameter is a description of the data to replicate as well as various settings that define how the data will be replicated. For example, you can set a spatial filter, set the replica model type, and specify whether or not to include related data. See the GPReplicaDescription coclass for more information.

The repOptions parameter is used to set various replica options such as the replica access type and the initial data sender. See the GPReplicaOptions coclass for more information.

The exportOptions parameter defines the output of the method. This includes the outut format and whether or not the output will be compressed. See GDSExportOptions for more information.

If exporting to XML or FileGDBTransport, the output of this method is used with the ImportData method to import the replica into a destination geodatabase and complete replica creation. For check-out replicas, you can also choose to replicate directly to a file geodatabase or personal geodatabase. Here the output is the replica geodatabase and therefore no import is required.

FileGDBTransport is not supported when IGPReplicaOptions registerExistingDataOnly flag is set to true. To create a replica by registering existing data only, export to XML instead.

The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

When executed, the method returns a GDSData object. See the GDSData coclass for more information.

Product Availability

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

Specified by:
createReplica in interface IGeoDataServer
Parameters:
parentVersion - The parentVersion (in)
replicaName - The replicaName (in)
replicaDesc - A reference to a com.esri.arcgis.geodatabase.IGPReplicaDescription (in)
repOptions - A reference to a com.esri.arcgis.geodatabase.IGPReplicaOptions (in)
exportOptions - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSExportOptions (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

expandReplicaDatasets

public IGPReplicaDatasets expandReplicaDatasets(IGPReplicaDatasets repDatasets)
                                         throws IOException,
                                                AutomationException
Expands a set of replica datasets taking into consideration geodatabase constructs (topologies, relationship classes, etc.).

Remarks

The ExpandReplicaDatasets method returns the expanded list of datasets to replicate or extract. Data extraction and replica creation apply an expansion process to ensure that all feature classes in a topology or geometric network and related feature classes and tables are included. For example, if you pass in a GPReplicaDataset for a feature class that is involved in a topology, replica creation will include all feature classes in the topology.

This method allows you to set properties for each expanded GPReplicaDataset before creating replicas or extracting data. Unless you use this method, the expanded classes will be given default properties.

Product Availability

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

Specified by:
expandReplicaDatasets in interface IGeoDataServer
Parameters:
repDatasets - A reference to a com.esri.arcgis.geodatabase.IGPReplicaDatasets (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGPReplicaDatasets
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

importData

public void importData(IGDSData pData,
                       int fmt)
                throws IOException,
                       AutomationException
Imports data into the workspace.

Remarks

The ImportData method imports data into the geodatabase referenced by the GeoDataServer. The pData parameter takes a GDSData object which defines the data to import. The fmt parameter specifies the format of the data.

The data to import may be a XML workspace document or a FileGDB transport file generated from the IGeoDataServer::CreateReplica command. The process of importing these files completes the replica creation process and add a new child replica to the geodatabase.

The data may also be from a personal geodatabase, file geodatabase or an XML workspace document generated outside the context of replication. The IGeoDataServer::ExtractData method, for example, can also be used to generate these files. In these cases, the data is simply copied to the geodatabase.

Product Availability

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

Specified by:
importData in interface IGeoDataServer
Parameters:
pData - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData (in)
fmt - A com.esri.arcgis.geodatabasedistributed.esriGDSImportFormat constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

exportReplicaDataChanges

public IGDSData exportReplicaDataChanges(String replicaName,
                                         IGDSExportOptions options,
                                         int transportType,
                                         int generationsToExport,
                                         boolean switchRole)
                                  throws IOException,
                                         AutomationException
Exports data changes for a replica.

Remarks

The ExportReplicaDataChanges method is used to export data changes from a replica. Use this method when synchronizing replicas in a disconnected environment. To synchronize replicas in a connected environment, see IReplicationAgent::SynchronizeReplica.

This method should be used in conjunction with the IGeoDataServer::ImportReplicaDataChanges method to complete the transfer of data changes from one replica to it's relative. Note that this method can only be executed for replicas that are data senders. See IGPReplica::ReplicaState for more information.

The ReplicaName is the name of the replica from which to export changes.

The options parameter defines the output of the method. This includes the outut format and whether or not the output will be compressed. See GDSExportOptions for more information.

The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

The generationsToExport parameter uses the esriExportGenerationsOption enumeration to specify what data changes to export. You may choose to export only unacknowledged data change, only new data changes, all data changes, or no data changes. You would export no data changes if you were interested in switching roles (see below). See the esriExportGenerationsOptions enumeration for more information.

Set the switchRole parameter to true if after exporting the data changes, you want to start receiving changes from the relative replica. When set to true, the source replica transitions from a data sender to a data receiver upon export. When the relative replica successfully imports this delta file, it transitions from a data receiver to a data sender. See the ImportReplicaDataChanges method for more information.

When executed, the method returns a GDSData object. See the GDSData coclass for more information.

Product Availability

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

Specified by:
exportReplicaDataChanges in interface IGeoDataServer
Parameters:
replicaName - The replicaName (in)
options - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSExportOptions (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
generationsToExport - A com.esri.arcgis.geodatabasedistributed.esriExportGenerationsOption constant (in)
switchRole - The switchRole (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reExportReplicaDataChanges

public IGDSData reExportReplicaDataChanges(String replicaName,
                                           IGDSExportOptions options,
                                           int transportType,
                                           int gensToExport)
                                    throws IOException,
                                           AutomationException
Re-exports data changes for a replica.

Remarks

The ReexportReplicaDataChanges method is used to re-export previously sent data changes from a replica. Use this method when synchronizing replicas in a disconnected environment. To synchronize replicas in a connected environment, see IReplicationAgent::SynchronizeReplica.

This method is very similar to the ExportReplicaDataChanges method, except it only allows you to re-export changes that have been previously sent. The paraemters are the same as the ExportReplicaDataChanges method with the gensToExport parameter.

The gensToExport parameter uses the esriReExportGenerationsOption enumeration to specify what data changes to export. You may choose to export all unacknowledged data changes or only the last unacknowledged changes. See the esriReExportGenerationsOptions enumeration for more information.

Product Availability

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

Specified by:
reExportReplicaDataChanges in interface IGeoDataServer
Parameters:
replicaName - The replicaName (in)
options - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSExportOptions (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
gensToExport - A com.esri.arcgis.geodatabasedistributed.esriReExportGenerationsOption constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

importReplicaDataChanges

public boolean importReplicaDataChanges(int sourceType,
                                        int reconcilePolicy,
                                        boolean columnLevel,
                                        IGDSData data)
                                 throws IOException,
                                        AutomationException
Import the data changes for a replica.

Remarks

The ImportReplicaDataChanges method is used to import replica data change messages. Use this method when synchronizing replicas in a disconnected environment. To synchronize replicas in a connected environment, see IReplicationAgent::SynchronizeReplica.

This method should be used in conjunction with the IGeoDataServer::ExportReplicaDataChanges method to complete the transfer to data from one replica to it's relative. Note that this method can only be executed for replicas that are data receivers. See IGPReplica::ReplicaState for more information.

The sourcetype defines the file format used to store the changes.

The reconcilePolicy parameter uses the esriReplicaReconilePolicyType enumeration to define how conflicts will be resolved when the changes are imported. When importing to a replica, changes are first applied to a synchronization version. For 2 way and 1 way replicas, this version is always reconciled and posted with the replica version. For check-out replicas, you can also choose whether or not to reconcile and post. The following describes the meaning of each enumeration:

esriReplicaDetectConflicts -If conflicts occur, the reconcile process is aborted and you must reconcile and post manually after sycnhronization is completed.

esriReplicaResolveConflictsInFavorOfImportedChanges - Automatically resolve conflicts in favor of the changes being imported.

esriReplicaResolveConflictsInFavorOfDatabaseChanges - Automatically resolve conflicts in favor of the database importing the changes.

esriReplicaResolveConflictsNone - This enumeration has meaning for check-out replicas only. It indicates that a reconcile and post should not be applied during synchronization.

The columnLevel parameter defines whether or not to use column level conflict detection. If true, conflicts occur only when specific column values differ. If false, any change to any values in each row can cause a conflict.

The data parameter takes a reference to an GDSData object which is the source of the data changes. See the GDSData coclass for more information.

The method returns TRUE if conflicts were detected. It returns FALSE if no conflicts were detected.

Product Availability

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

Specified by:
importReplicaDataChanges in interface IGeoDataServer
Parameters:
sourceType - A com.esri.arcgis.geodatabasedistributed.esriGDSReplicaImportSource constant (in)
reconcilePolicy - A com.esri.arcgis.geodatabase.esriReplicaReconcilePolicyType constant (in)
columnLevel - The columnLevel (in)
data - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData (in)
Returns:
The conflictsFound
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

exportAcknowledgement

public IGDSData exportAcknowledgement(String replicaName,
                                      int transportType)
                               throws IOException,
                                      AutomationException
Export an acknowledgement message for a replica.

Remarks

The ExportAcknowledgement method is used to export an acknowledgement message from a replica. Use this method when synchronizing replicas in a disconnected environment. To synchronize replicas in a connected environment, see IReplicationAgent::SynchronizeReplica.

This method should be used in conjunction with IGeoDataServer::ImportAcknowledgement method where the acknowledgement message can be imported by the relative replica.

The ReplicaName is the name of the replica.

The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

The acknowledgement message is returned as an instance of a GDSData object. Acknowledgement files are always stored in an XMl format. See the GDSData coclass for more information.

Product Availability

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

Specified by:
exportAcknowledgement in interface IGeoDataServer
Parameters:
replicaName - The replicaName (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

importAcknowledgement

public void importAcknowledgement(IGDSData data)
                           throws IOException,
                                  AutomationException
Import an acknowledgement message for a replica.

Remarks

The ImportAcknowledgement method is used to import an acknowledgement message into a replica. Use this method when synchronizing replicas in a disconnected environment. To synchronize replicas in a connected environment, see IReplicationAgent::SynchronizeReplica.

The acknowledgement message must first be generated by calling the GeoDataServer::ExportAcknowledgement method.

The data parameter takes a GDSData object. See the GDSData coclass for more information.

Product Availability

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

Specified by:
importAcknowledgement in interface IGeoDataServer
Parameters:
data - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unregisterReplica

public void unregisterReplica(String replicaName)
                       throws IOException,
                              AutomationException
Unregisters the replica.

Remarks

The UnregisterReplica method is used to unregister or delete a replica from the geodatabase.

The ReplicaName is the nane of the replica.

Product Availability

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

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

tableSearch

public IGDSQueryResultPortion tableSearch(String versionName,
                                          String tableName,
                                          IQueryFilter queryFilter,
                                          IResultPortionInfo queryRange)
                                   throws IOException,
                                          AutomationException
Returns the records satisfying the specified query.

Remarks

The TableSearch method is used to query tables and feature classes from the geodatabase referenced by the GeoDataServer. Both attribute and spatial queries can be performed. The method returns an instance of GDSQueryResultPortion, which contains a recordset of features or rows that satisfy the query filter.

The GDSQueryResultPortion can contain up to the number of rows specified by the queryRange parameter. If the query filter returns more rows than the query range allows, subsequent calls to GetNextResultPortion can be used to get the rest of the rows. Results are returned in portions because the GeoDataServer may be from ArcGIS for Server accesed on a network with limited band width.

The maximum number of rows that can be returned by a TableSearch is determined by the IGeoDataServer::MaxRecordCount property.

If the geodatabase referenced by the GeoDataServer is an ArcSDE geodatabase, you can set the versionName parameter to the version on which to execute the query. If no versionName is provided, the version that the GeoDataServer is currently referencing is used. For non-ArcSDE geodatabases, the versionName is ignored.

The tableName and queryFilter parameters define the query and the table or feature class on which to execute the query. The queryRange defines how to return the results.

Product Availability

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

Specified by:
tableSearch in interface IGeoDataServer
Parameters:
versionName - The versionName (in)
tableName - The tableName (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
queryRange - A reference to a com.esri.arcgis.geodatabase.IResultPortionInfo (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSQueryResultPortion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNextResultPortion

public IGDSQueryResultPortion getNextResultPortion(IResultPortionInfo desiredRange)
                                            throws IOException,
                                                   AutomationException
Gets the next portion of the results.

Remarks

The GetNextResultPortion method is used to query table and feature classes. This method is used to get additional records after the initial query has been performed using the IGeoDataServer::TableSearch method.

Product Availability

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

Specified by:
getNextResultPortion in interface IGeoDataServer
Parameters:
desiredRange - A reference to a com.esri.arcgis.geodatabase.IResultPortionInfo (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSQueryResultPortion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

exportReplicaSchema

public IGDSData exportReplicaSchema(String replicaName,
                                    int transportType)
                             throws IOException,
                                    AutomationException
Exports the schema of a replica to an Xml document.

Remarks

The ExportReplicaSchema method exports the schema of a replica in XML file.

This method can be used in conjunction with the IGeoDataServer::CompareReplicaSchema method on the relative replica to compare the schemas between a replica pair. The IGeoDataServer::ImportReplicaSchema method can then be used to apply those schema changes to the relative replica database.

The ReplicaName is the name of the replica. The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

This method returns a GDSData object. See the GDSData coclass for more information.

Product Availability

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

Specified by:
exportReplicaSchema in interface IGeoDataServer
Parameters:
replicaName - The replicaName (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

compareReplicaSchema

public IGDSData compareReplicaSchema(IGDSData relativeReplicaSchemaDoc,
                                     int transportType)
                              throws IOException,
                                     AutomationException
Compares the schema of a replica with that of its relative, and returns a schema changes XML document.

Remarks

The CompareReplicaSchema method is used to compare a replicas schema to its relative replicas schema and returns a schema changes XML document.

This method should be used in conjunction with the IGeoDataServer::ImportReplicaSchemaChanges method to apply the schema changes.

The TransportType indicates the desired transport type. Use esriGDSTransportTypeURL to place the output in a file in the virtual output directory. Use esriGDSTransportTypeEmbedded to have the results embedded in the output GDSData object. If no virtual output directory exists, the results will be embedded regardless of the value set for this parameter.

The relativeReplicaSchemaDoc parameter takes a reference to a GDSData object for the replica schema file of the relative replica. This file must first be created for the relative replica before executing this method. See the IGeoDataServer::ExportReplicaSchema for information on how to generate this file.

This method returns a GDSData object for the schema changes XML document. See the GDSData coclass for more information.

Product Availability

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

Specified by:
compareReplicaSchema in interface IGeoDataServer
Parameters:
relativeReplicaSchemaDoc - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData (in)
transportType - A com.esri.arcgis.geodatabasedistributed.esriGDSTransportType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

importReplicaSchemaChanges

public void importReplicaSchemaChanges(IGDSData schemaChangesDoc)
                                throws IOException,
                                       AutomationException
Updates the schema of the replica with the changes in an schema changes XML document.

Remarks

The ImportReplicaSchemaChanges method updates the schema of the replica with the changes in a schema changes XML document.

The schemaChangesDoc is GDSData object which references the schema changes XML document. The schema changes XML document must first be generated by running the IGeoDataServer::CompareReplicaSchema method.

Product Availability

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

Specified by:
importReplicaSchemaChanges in interface IGeoDataServer
Parameters:
schemaChangesDoc - A reference to a com.esri.arcgis.geodatabasedistributed.IGDSData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

expandReplicaDatasets2

public IGPReplicaDatasets expandReplicaDatasets2(IGPReplicaDatasets gPReplicaDatasets,
                                                 IGPReplicaOptions replicaOptions)
                                          throws IOException,
                                                 AutomationException
Expands a set of replica datasets taking into consideration geodatabase constructs (topologies, relationship classes, etc.).

Product Availability

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

Specified by:
expandReplicaDatasets2 in interface IGeoDataServer2
Parameters:
gPReplicaDatasets - A reference to a com.esri.arcgis.geodatabase.IGPReplicaDatasets (in)
replicaOptions - A reference to a com.esri.arcgis.geodatabase.IGPReplicaOptions (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGPReplicaDatasets
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReplica

public IGPReplica getReplica(String replicaName)
                      throws IOException,
                             AutomationException
Return the replica in the workspace that has a specific name.

Product Availability

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

Specified by:
getReplica in interface IGeoDataServer2
Parameters:
replicaName - The replicaName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGPReplica
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initFromMap

public void initFromMap(String filePath)
                 throws IOException,
                        AutomationException
Initializes a GeoDataServer object with a map document.

Remarks

The InitFromMap method uses a file system path to an ArcMap document to initialize the GeoDataServer. The document must contain layers or tables from a single geodatabase connection.

Product Availability

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

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

initFromFile

public void initFromFile(String file)
                  throws IOException,
                         AutomationException
Initializes a GeoDataServer object from a geodatabase or an sde connection file (*.sde).

Remarks

The InitFromFile method uses a file system path to a geodatabase or an ArcSDE geodatabase connection file to initialize the GeoDataServer.

Product Availability

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

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

initFromConnectionString

public void initFromConnectionString(String connectionString)
                              throws IOException,
                                     AutomationException
Initializes a GeoDataServer object from a connection string to a geodatabase.

Product Availability

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

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

initWithWorkspace

public void initWithWorkspace(IWorkspace pWorkspace)
                       throws IOException,
                              AutomationException
Initializes a GeoDataServer object with a workspace.

Remarks

The InitWithWorkspace method initializes a GeoDataServer object with a workspace object for the geodatabase.

Product Availability

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

Specified by:
initWithWorkspace in interface IGeoDataServerInit
Parameters:
pWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPhysicalOutputDirectory

public void setPhysicalOutputDirectory(String dirPath)
                                throws IOException,
                                       AutomationException
The physical directory for output files.

Product Availability

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

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

getPhysicalOutputDirectory

public String getPhysicalOutputDirectory()
                                  throws IOException,
                                         AutomationException
The physical directory for output files.

Remarks

The PhysicalOutputDirectory method represents the physical directory for output files. This is a path to a local directory where files are placed when executing operations on a GeoDataServer. If the GeoDataServer is running inside ArcGIS for Server, this refers to a directory on the server machine. This value is set when configuring a geodata service inside ArcGIS for Server.

Product Availability

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

Specified by:
getPhysicalOutputDirectory in interface IGeoDataServerInit
Returns:
The dirPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVirtualOutputDirectory

public void setVirtualOutputDirectory(String dirPath)
                               throws IOException,
                                      AutomationException
The virtual directory for output files.

Product Availability

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

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

getVirtualOutputDirectory

public String getVirtualOutputDirectory()
                                 throws IOException,
                                        AutomationException
The virtual directory for output files.

Remarks

The VirtualOutputDirectory property refers to a virtual directory where output files are placed when executing operations on a GeoDataServer. This value is set when configuring a geodata service inside ArcGIS for Server.

The VirtualOutputDirectory should reference the same directory as the PhysicalOutputDirectory.

Product Availability

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

Specified by:
getVirtualOutputDirectory in interface IGeoDataServerInit
Returns:
The dirPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxRecordCount

public void setMaxRecordCount(int count)
                       throws IOException,
                              AutomationException
The maximum number of records returned for query results.

Product Availability

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

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

construct

public void construct(IPropertySet props)
               throws IOException,
                      AutomationException
Two phase object construction.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
construct in interface IObjectConstruct
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.

handleBinaryRequest

public byte[] handleBinaryRequest(byte[] request)
                           throws IOException,
                                  AutomationException
Handles a binary request.

Specified by:
handleBinaryRequest in interface IRequestHandler
Parameters:
request - An unsigned byte (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleStringRequest

public String handleStringRequest(String capabilities,
                                  String request)
                           throws IOException,
                                  AutomationException
Handles a SOAP string request.

Specified by:
handleStringRequest in interface IRequestHandler
Parameters:
capabilities - The capabilities (in)
request - The request (in)
Returns:
The response
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleBinaryRequest2

public byte[] handleBinaryRequest2(String capabilities,
                                   byte[] request)
                            throws IOException,
                                   AutomationException
Handles a binary request with explicit capabilities.

Product Availability

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

Specified by:
handleBinaryRequest2 in interface IRequestHandler2
Parameters:
capabilities - The capabilities (in)
request - An unsigned byte (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultWorkingWorkspace

public IWorkspace getDefaultWorkingWorkspace()
                                      throws IOException,
                                             AutomationException
The default working workspace for the geodata server.

Remarks

The DefaultWorkingWorkspace method represents the default workspace for the GeoDataServer.

Product Availability

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

Specified by:
getDefaultWorkingWorkspace in interface IGeoDataServerObjects
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

activate

public void activate()
              throws IOException,
                     AutomationException
Activates the object.

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

deactivate

public void deactivate()
                throws IOException,
                       AutomationException
Deactivates the object.

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

initLogging

public void initLogging(ILog log)
                 throws IOException,
                        AutomationException
Initializes an object with a log.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationName

public String getConfigurationName()
                            throws IOException,
                                   AutomationException
Name of the server object configuration that defines the server object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfigurationName in interface IServerObject
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTypeName

public String getTypeName()
                   throws IOException,
                          AutomationException
Type of the server object (MapServer or GeocodeServer).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTypeName in interface IServerObject
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findExtensionByCLSID

public IServerObjectExtension findExtensionByCLSID(String cLSID)
                                            throws IOException,
                                                   AutomationException
Returns a server object extension found using a string representation of its class ID.

Product Availability

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

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

findExtensionByTypeName

public IServerObjectExtension findExtensionByTypeName(String name)
                                               throws IOException,
                                                      AutomationException
Returns a server object extension found using its type name.

Product Availability

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

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

handleRESTRequest

public byte[] handleRESTRequest(String capabilities,
                                String resourceName,
                                String operationName,
                                String operationInput,
                                String outputFormat,
                                String requestProperties,
                                String[] responseProperties)
                         throws IOException,
                                AutomationException
Handles REST requests for SOE.

This method is invoked by ArcGIS Server's REST handler, which intercepts client's request (in URL form), parses it and passes it on to this method in form of parameter values.

The REST SOE developer must add logic to use these parameter values to determine which resource/operation is being requested and accordingly handle these requests and generate responses in the output format indicated by the "outputFormat" parameter. For more information on developing REST SOEs, please consult the Java ArcObjects Developer Guide.

Developer doc: Developing extensions > Server Object Extensions > SOE Web Services > REST Web Services > Developing SOE REST Web Services
Samples: Samples > Server Object Extensions section

Specified by:
handleRESTRequest in interface IRESTRequestHandler
Parameters:
capabilities - The capabilities supported by the SOE. An admin can choose which capabilities are enabled on a particular SOE (in ArcGIS Manager or ArcCatalog), based on certain criteria such as security roles. This list of allowed capabilities is then sent to this method, at runtime, as a comma separated list. (in)
resourceName - Name of the resource being addressed. If empty, its assumed that root resource is being addressed. (in)
operationName - Name of the operation being invoked. If empty, description of resource is returned. (in)
operationInput - Input parameters, in form of comma separated list, to the operation specified by operationName parameter. (in)
outputFormat - OutputFormat of operation. Possible formats are JSON, HTML, AMF, etc. (in)
requestProperties - The requestProperties (in)
responseProperties - The responseProperties (out)
Returns:
Output generated by the SOE
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchema

public String getSchema()
                 throws IOException,
                        AutomationException
This method returns the resource hierarchy of a REST based SOE. This hierarchy is in JSON format as shown in the example below:

For an SOE that has a root resource (called "root") with one operation ("operation0"), and 2 sub-resources with one operation each ("operation1" and "operation2" respectively), the schema would look like:


 {
   "name": "MyRESTSOE",
   "description": "My REST SOE with 3 resources and 1 operation each.",
   "isCollection": false,
   "operations": [
   {
      "name": "operation0",
      "parameters": ["param01"],
      "supportedOutputFormats": ["json"]
    }
 ],
 "resources": [
  {
      "name": "subresource1",
      "description": "Sub Resource 1",
      "isCollection": true,
      "operations": [
       {
          "name": "operation1",
          "parameters": ["param10", "param11"],
          "supportedOutputFormats": ["json"]
       }
    ]
  },
  {
      "name": "subresource2",
      "description": "Sub Resource 2",
      "isCollection": true,
      "operations": [
       {
          "name": "operation2",
          "parameters": ["param20", "param21"],
          "supportedOutputFormats": ["json"]
       }
    ]
  }
 ]
}

Specified by:
getSchema in interface IRESTRequestHandler
Returns:
resource hierarchy of REST SOE, as String
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.