Working with the ArcGIS Server SOAP API  

Overview


The ArcGIS Server SOAP API is an XML-structured language for communicating with ArcGIS Server services based on the SOAP standard. Server objects and some server object extensions have a defined set of SOAP elements and attributes, known as a schema, they can utilize to process SOAP requests and generate SOAP responses. Since this capability is enabled at the server object level, as a developer you can interact with a server object using SOAP without using a Web service. ArcGIS Server Web services expose this capability via a Web service endpoint, but the SOAP request and response are still handled by the server object or server object extension directly. The easiest way to work with the SOAP API is to use a SOAP toolkit to generate SOAP proxies and value objects in the native development environment. Instead of managing SOAP strings directly, you can use the native proxy and value objects to work with ArcGIS Server services via a Web service endpoint or via the SOM.

The SOAP API is designed to make stateless use of ArcGIS Server services.  As a result, methods on the stateless ArcObjects interfaces implemented by a server object or extension mirror the methods on a SOAP proxy.   For example, both the MapServer SOAP proxy and the IMapServer ArcObjects COM interface expose the ExportMapImage method.    While the protocol and types are different, the usage is generally the same.  A call to the ExportMapImage method generates a new map image without inherently storing or changing the state of the map server object.  A list of the complimentary SOAP proxy and ArcObjects COM interfaces are provided in the ArcGIS Server Web Services Implementation section below.

The SOAP API discussion provided in this help system assumes that have you access to ArcGIS Server components and the Web ADF runtime.  The Web ADF runtime includes pregenerated SOAP proxies and value objects which enable the use of the SOAP API with ArcGIS Server Web services (Internet connection) or with the server object directly (Local connection).   These pregenerated objects are included in the ESRI.ArcGIS.ADF.ArcGISServer.dll and utilized internally by the Web ADF.  Using the SOAP API with an Internet connection is possible for both ESRI (e.g. Web ADF) and non-ESRI clients (clients who are not using an ESRI product).  For non-ESRI clients the SOAP API proxies and value objects can be generated by consuming the service WSDL with a SOAP toolkit, included with many developer environments.  ESRI clients can use the pregenerated objects or, like non-ESRI clients, dynamically generate their own.  Using the SOAP API with a local connection is only possible with an ESRI client.  It requires connection libraries included with the Web ADF and ArcGIS Engine runtime, ArcObjects COM proxies, and SOAP proxies to enable serialization of SOAP over DCOM.   This help system will discuss the server-side architecture of the SOAP API and its use within the context of a Local and Internet connection.  Regardless of the connection type or developer environment, the same SOAP objects, methods and properties are utilized.   As a result, a standalone SOAP SDK is available outside this help system for both ESRI and non-ESRI clients.   The SOAP SDK includes ArcGIS Server Web service discussions and a detailed SOAP API library reference and can be found in the following locations: