Working with the SOAP API

In this topic

About the ArcGIS Server SOAP API

The ArcGIS Server SOAP application programming interface (API) is an Extensible Markup Language (XML)-structured language for communicating with ArcGIS Server services based on the Simple Object Access Protocol  (SOAP) standard. Server objects and some server object extensions have a defined set of SOAP elements and attributes, known as a schema, that can be used to process SOAP requests and generate SOAP responses. Since this capability is enabled at the server object level, 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.

Proxies and value objects

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 server object manager (SOM).
The SOAP API makes stateless use of ArcGIS Server services. 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 Component Object Model (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.
In the ArcGIS Server SOAP API topics in this help system, it is assumed that you have access to ArcGIS Server components and the Web Application Developer Framework (ADF) runtime. The Web ADF runtime includes pregenerated SOAP proxies and value objects that enable the use of the SOAP API with ArcGIS Server Web services (an Internet connection) or with the server object directly (a local connection). These pregenerated objects are included in ESRI.ArcGIS.ADF.ArcGISServer.dll and are used internally by the Web ADF.

Internet and local connections

Using the SOAP API with an Internet connection is possible for both ESRI (for example, the 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 Web Service Description Language (WSDL) with a SOAP toolkit, included with many developer environments. ESRI clients can use the pregenerated objects or dynamically generate their own.
Using the SOAP API with a local connection is only possible with an ESRI client. It requires connection libraries that are included with the Web ADF and ArcGIS Engine runtime, ArcObjects COM proxies, and SOAP proxies to enable serialization of SOAP over Distributed Component Object Model (DCOM).


The topics in this Help system cover the server-side architecture of the SOAP API and its use in the context of a local or Internet connection. Regardless of the connection type or developer environment, the same SOAP objects, methods, and properties are used. A standalone SOAP software development kit (SDK) is available for both ESRI and non-ESRI clients. The SOAP SDK includes ArcGIS Server Web service topics and a detailed SOAP API library reference and can be found in the following locations:
  • The SOAP SDK is available on the ArcGIS Resource Center for developers with Internet access.
  • Each ArcGIS Server instance configured for use with ArcGIS Server includes the SOAP SDK. When installing ArcGIS Server with the Web Applications option (default), an ArcGIS instance is configured with a Web server and include the SOAP SDK. If you're installing on a Web server using the default instance name (ArcGIS), the SOAP SDK is available at http://<servername>/ArcGIS/SDK/SOAP.
  • When installing the Web ADF with the integrated Help option, the SOAP SDK documentation is included in <ArcGIS Developer Kit Install Location>\Help\SOAP. Program menu item links to the SOAP Help system point to this location on disk.