com.esri.arcgis.globecore
Class GlobeServer

java.lang.Object
  extended by com.esri.arcgis.globecore.GlobeServer
All Implemented Interfaces:
IGlobeServer, IGlobeServer2, IGlobeServer3, IGlobeServer4, IGlobeServerObjects, IGlobeServerSetup, com.esri.arcgis.interop.RemoteObjRef, IServerObject, IServerObjectExtensionManager, ILogSupport, IObjectActivate, IObjectConstruct, IRequestHandler, IRequestHandler2, IRESTRequestHandler, Serializable

public class GlobeServer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IObjectConstruct, IRequestHandler, IRequestHandler2, ILogSupport, IObjectActivate, IGlobeServer, IGlobeServer2, IGlobeServer3, IGlobeServer4, IGlobeServerObjects, IGlobeServerSetup, IServerObject, IServerObjectExtensionManager, IRESTRequestHandler

A Globe Server class that serves Globe Tiles.

Description

The GlobeServer component provides programmatic access to the contents of a Globe document on disk, and serves globe data tiles of the layers in the 3dd document. GlobeServer is an efficient means of serving globe optimized data for web service access by globe clients.

Remarks

The GlobeServer coclass gives you access to an ArcGIS Globe layer bound to a GlobeServer object. It also allows GlobeServer layers to be queried and identified (via the Find and Identify methods). GlobeServer can be used in desktop or Internet development environments. In a desktop environment, GlobeServer objects can be created in-process within your application. GlobeServer objects are run within ArcGIS for Server.

ArcGIS for Desktop and ArcGIS Engine developers can also consume GlobeServer objects via the Server API. The GlobeServer object always works in a stateless manner. That means, unlike MapServer objects, GlobeServer objects are always exposed as pooled objects, and you can only use them to gain access to finer grained ArcObjects. Note that you will not be able to make permanent changes, as a non-pooled mode of operation is not supported by the GlobeServer objects.

Use GISServerConnection to connect to the GIS server.

The GlobeServer coclass contains several interfaces with basic functions for displaying (IGlobeServer) and querying (IGlobeServer, IGlobeServerObjects, and IGlobeServerSetup) a Globe layer.

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
GlobeServer()
          Constructs a GlobeServer using ArcGIS Engine.
GlobeServer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GlobeServer theGlobeServer = (GlobeServer) obj;
 
Method Summary
 void activate()
          Activates the object.
 void construct(IPropertySet props)
          Two phase object construction.
 void deactivate()
          Deactivates the object.
 boolean equals(Object o)
          Compare this object with another
 IGlobeServerFindResults find(int layerID, String searchString, boolean contains, String searchFields)
          Returns a Globe Server Find Result object that contain the given search string.
 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.
 byte[] getAnimation()
          Gets the animation stream.
 ICacheControlInfo getCacheControlInfo()
          Returns cache related properties of the a GlobeServer.
 String getCacheName(int layerID)
          Gets the virtual cache directory for a given layer.
static String getClsid()
          getClsid.
 byte[] getConfig(int layerID)
          Gets the configuration file from a given layer.
 byte[] getConfiguration(int layerID)
          Gets all the configuration and MQT files from a given layer.
 String getConfigurationName()
          Name of the server object configuration that defines the server object.
 IGlobeDisplay getDisplay()
          The display used by the Globe Server.
 IPropertySet getDocumentInfo()
          A set of name-value pairs for properties set for the globe document such as Title, Subject, Author, Category, Keywords and Comments.
 ILayer getLayer(int layerID)
          The layer used by the Globe Server.
 int getLayerCount(int parentID)
          The number of layers in the server under a certain parent.
 IGlobeLayerInfos getLayerInfos(int parentID)
          A collection of Globe Layer Info objects.
 IGlobeLegendInfos getLegendInfos(ILongArray layerIDs)
          Returns a collection of Globe Legend Info objects for the specified layers.
 byte[] getMQT(int layerID, int face)
          Gets the MQT for a given face from a given layer.
 String getPhysicalCacheDirectory()
          The physical directory for Globe cache.
 String getPhysicalOutputDirectory()
          The physical directory for output files.
 String getSchema()
          This method returns the resource hierarchy of a REST based SOE.
 String getSOMPhysicalCacheDirectory()
          The SOM physical directory for Globe cache.
 String getSOMVirtualCacheDirectory()
          The SOM virtual directory for Globe cache.
 byte[] getSymbols(int layerID, ILongArray pSymbolIDs)
          Gets the symbols with given IDs.
 byte[] getTextures(int layerID, ILongArray pTextureIDs)
          Gets the textures with given IDs.
 byte[] getTexturesEx(int layerID, ILongArray pTextureIDs, boolean getDDT)
          Gets the textures with given IDs.
 byte[] getTile(int layerID, int face, int level, int row, int column)
          Gets a tile for a given tile location from a given layer.
 String getTypeName()
          Type of the server object (MapServer or GeocodeServer).
 float getVersion()
          The Globe Server version number.
 String getVirtualCacheDirectory()
          The virtual directory for Globe cache.
 String getVirtualCacheDirectory(int layerID)
          Gets the virtual cache directory for a given layer.
 String getVirtualOutputDirectory()
          The virtual directory for output files.
 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
 IGlobeServerIdentifyResults identify(int layerID, int oid, IGeometry searchShape)
          Returns a Globe Server Identify Result object at the given location.
 void init(String docFile)
          Initializes the server from a globe document path.
 void initFromLayer(String layerFile)
          Initializes the server from from a layer file.
 void initLogging(ILog log)
          Initializes an object with a log.
 void setPhysicalCacheDirectory(String pPath)
          The physical directory for Globe cache.
 void setPhysicalOutputDirectory(String pPath)
          The physical directory for output files.
 void setSOMPhysicalCacheDirectory(String pPath)
          The SOM physical directory for Globe cache.
 void setVirtualCacheDirectory(String pPath)
          The virtual directory for Globe cache.
 void setVirtualOutputDirectory(String pPath)
          The virtual directory for output files.
 
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

GlobeServer

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

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

GlobeServer

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

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

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

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.

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.

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.

getVersion

public float getVersion()
                 throws IOException,
                        AutomationException
The Globe Server version number.

Description

Returns the GlobeServer Version.

Product Availability

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

Specified by:
getVersion in interface IGlobeServer
Returns:
The pVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLayerCount

public int getLayerCount(int parentID)
                  throws IOException,
                         AutomationException
The number of layers in the server under a certain parent.

Product Availability

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

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

getLayerInfos

public IGlobeLayerInfos getLayerInfos(int parentID)
                               throws IOException,
                                      AutomationException
A collection of Globe Layer Info objects.

Product Availability

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

Specified by:
getLayerInfos in interface IGlobeServer
Parameters:
parentID - The parentID (in)
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeLayerInfos
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendInfos

public IGlobeLegendInfos getLegendInfos(ILongArray layerIDs)
                                 throws IOException,
                                        AutomationException
Returns a collection of Globe Legend Info objects for the specified layers. If layerIDs is Nothing/Null or empty, legend information for all layers is returned.

Product Availability

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

Specified by:
getLegendInfos in interface IGlobeServer
Parameters:
layerIDs - A reference to a com.esri.arcgis.system.ILongArray (in)
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeLegendInfos
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfig

public byte[] getConfig(int layerID)
                 throws IOException,
                        AutomationException
Gets the configuration file from a given layer.

Product Availability

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

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

getMQT

public byte[] getMQT(int layerID,
                     int face)
              throws IOException,
                     AutomationException
Gets the MQT for a given face from a given layer.

Product Availability

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

Specified by:
getMQT in interface IGlobeServer
Parameters:
layerID - The layerID (in)
face - The face (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfiguration

public byte[] getConfiguration(int layerID)
                        throws IOException,
                               AutomationException
Gets all the configuration and MQT files from a given layer.

Product Availability

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

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

getTile

public byte[] getTile(int layerID,
                      int face,
                      int level,
                      int row,
                      int column)
               throws IOException,
                      AutomationException
Gets a tile for a given tile location from a given layer.

Product Availability

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

Specified by:
getTile in interface IGlobeServer
Parameters:
layerID - The layerID (in)
face - The face (in)
level - The level (in)
row - The row (in)
column - The column (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbols

public byte[] getSymbols(int layerID,
                         ILongArray pSymbolIDs)
                  throws IOException,
                         AutomationException
Gets the symbols with given IDs.

Product Availability

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

Specified by:
getSymbols in interface IGlobeServer
Parameters:
layerID - The layerID (in)
pSymbolIDs - A reference to a com.esri.arcgis.system.ILongArray (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTextures

public byte[] getTextures(int layerID,
                          ILongArray pTextureIDs)
                   throws IOException,
                          AutomationException
Gets the textures with given IDs.

Product Availability

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

Specified by:
getTextures in interface IGlobeServer
Parameters:
layerID - The layerID (in)
pTextureIDs - A reference to a com.esri.arcgis.system.ILongArray (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnimation

public byte[] getAnimation()
                    throws IOException,
                           AutomationException
Gets the animation stream.

Product Availability

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

Specified by:
getAnimation in interface IGlobeServer
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

identify

public IGlobeServerIdentifyResults identify(int layerID,
                                            int oid,
                                            IGeometry searchShape)
                                     throws IOException,
                                            AutomationException
Returns a Globe Server Identify Result object at the given location.

Description

Returns GlobeServerIdentifyResults object by taking in the LayerId to be identified, an Object ID and the geometry of the identify area, delineated by the geometry object. Note, a value of -1 should be passed as the OID value to return all objects found within the identify area.

Product Availability

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

Specified by:
identify in interface IGlobeServer
Parameters:
layerID - The layerID (in)
oid - The oid (in)
searchShape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeServerIdentifyResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

find

public IGlobeServerFindResults find(int layerID,
                                    String searchString,
                                    boolean contains,
                                    String searchFields)
                             throws IOException,
                                    AutomationException
Returns a Globe Server Find Result object that contain the given search string.

Description

Returns GlobeServerFindResults object by taking in the LayerId used to perform Find on , a search string - representing the value to be searched, a boolen defineing wheter to search for exact match or results that contain the defind string, and a string defining which fields to search on the layer. Note passing an empty string For SearchFields will search in all available Fields.

Product Availability

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

Specified by:
find in interface IGlobeServer
Parameters:
layerID - The layerID (in)
searchString - The searchString (in)
contains - The contains (in)
searchFields - The searchFields (in)
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeServerFindResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVirtualCacheDirectory

public String getVirtualCacheDirectory(int layerID)
                                throws IOException,
                                       AutomationException
Gets the virtual cache directory for a given layer.

Product Availability

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

Specified by:
getVirtualCacheDirectory in interface IGlobeServer
Parameters:
layerID - The layerID (in)
Returns:
The pUrl
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheName

public String getCacheName(int layerID)
                    throws IOException,
                           AutomationException
Gets the virtual cache directory for a given layer.

Product Availability

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

Specified by:
getCacheName in interface IGlobeServer
Parameters:
layerID - The layerID (in)
Returns:
The pName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheControlInfo

public ICacheControlInfo getCacheControlInfo()
                                      throws IOException,
                                             AutomationException
Returns cache related properties of the a GlobeServer.

Product Availability

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

Specified by:
getCacheControlInfo in interface IGlobeServer2
Returns:
A reference to a com.esri.arcgis.carto.ICacheControlInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTexturesEx

public byte[] getTexturesEx(int layerID,
                            ILongArray pTextureIDs,
                            boolean getDDT)
                     throws IOException,
                            AutomationException
Gets the textures with given IDs.

Product Availability

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

Specified by:
getTexturesEx in interface IGlobeServer3
Parameters:
layerID - The layerID (in)
pTextureIDs - A reference to a com.esri.arcgis.system.ILongArray (in)
getDDT - The getDDT (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDocumentInfo

public IPropertySet getDocumentInfo()
                             throws IOException,
                                    AutomationException
A set of name-value pairs for properties set for the globe document such as Title, Subject, Author, Category, Keywords and Comments.

Product Availability

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

Specified by:
getDocumentInfo in interface IGlobeServer4
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.

getLayer

public ILayer getLayer(int layerID)
                throws IOException,
                       AutomationException
The layer used by the Globe Server.

Product Availability

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

Specified by:
getLayer in interface IGlobeServerObjects
Parameters:
layerID - The layerID (in)
Returns:
A reference to a com.esri.arcgis.carto.ILayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisplay

public IGlobeDisplay getDisplay()
                         throws IOException,
                                AutomationException
The display used by the Globe Server.

Product Availability

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

Specified by:
getDisplay in interface IGlobeServerObjects
Returns:
A reference to a com.esri.arcgis.globecore.IGlobeDisplay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

init

public void init(String docFile)
          throws IOException,
                 AutomationException
Initializes the server from a globe document path. The path must be accessible to the server machine.

Product Availability

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

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

initFromLayer

public void initFromLayer(String layerFile)
                   throws IOException,
                          AutomationException
Initializes the server from from a layer file. The path must be accessible to the server machine.

Product Availability

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

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

setPhysicalOutputDirectory

public void setPhysicalOutputDirectory(String pPath)
                                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 IGlobeServerSetup
Parameters:
pPath - The pPath (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.

Product Availability

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

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

setVirtualOutputDirectory

public void setVirtualOutputDirectory(String pPath)
                               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 IGlobeServerSetup
Parameters:
pPath - The pPath (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.

Product Availability

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

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

setPhysicalCacheDirectory

public void setPhysicalCacheDirectory(String pPath)
                               throws IOException,
                                      AutomationException
The physical directory for Globe cache.

Product Availability

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

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

getPhysicalCacheDirectory

public String getPhysicalCacheDirectory()
                                 throws IOException,
                                        AutomationException
The physical directory for Globe cache.

Product Availability

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

Specified by:
getPhysicalCacheDirectory in interface IGlobeServerSetup
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSOMPhysicalCacheDirectory

public void setSOMPhysicalCacheDirectory(String pPath)
                                  throws IOException,
                                         AutomationException
The SOM physical directory for Globe cache.

Product Availability

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

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

getSOMPhysicalCacheDirectory

public String getSOMPhysicalCacheDirectory()
                                    throws IOException,
                                           AutomationException
The SOM physical directory for Globe cache.

Product Availability

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

Specified by:
getSOMPhysicalCacheDirectory in interface IGlobeServerSetup
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVirtualCacheDirectory

public void setVirtualCacheDirectory(String pPath)
                              throws IOException,
                                     AutomationException
The virtual directory for Globe cache.

Product Availability

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

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

getVirtualCacheDirectory

public String getVirtualCacheDirectory()
                                throws IOException,
                                       AutomationException
The virtual directory for Globe cache.

Product Availability

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

Specified by:
getVirtualCacheDirectory in interface IGlobeServerSetup
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSOMVirtualCacheDirectory

public String getSOMVirtualCacheDirectory()
                                   throws IOException,
                                          AutomationException
The SOM virtual directory for Globe cache.

Product Availability

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

Specified by:
getSOMVirtualCacheDirectory in interface IGlobeServerSetup
Returns:
The pPath
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.