Simple SOAP SOE Sample

The purpose of this sample is to demonstrate use of a simple SOAP Server Object Extension that has 1 SOAP operation.
The SOAP operation, called "getLayerCountByType", takes in a string "type" and returns a count of all layers of specified type. Acceptable values for type are "feature", "raster", "dataset", or "all".

How to use

See How to use ArcGIS samples for help on running the sample.

How to use this sample?
  1. Deploy the lib/JavaSimpleSOAPSOE.soe file to Server. For instructions on how to deploy an SOE to ArcGIS 10.1 Server, please see the "Developing Extensions" -> "Server Object Extensions" -> "Deploying and Un-deploying SOEs" topic.
  2. Enable the SOE on map service of your choice. For instructions on how to enable SOE on a map service, please see the "Developing Extensions" -> "Server Object Extensions" -> "Enabling and Disabling SOEs" topic. Please ensure that the map service has at least 1 feature layer.
  3. Import the "simplesoapsoe" Eclipse project from $AGSDEVKITJAVA/java/samples/arcobjects/serverobjectextensions.
  4. Navigate to src/arcgissamples/soe/soapclient package and ensure that JavaSimpleSOAPSOESOAPClient client application is present.
  5. Verify that lib/JavaSimpleSOAPSOE_stubs.jar is present in the project's build path. This jar carries stubs for SOAP SOE's client application. This jar resides in the $AGSDEVKITJAVA/java/samples/arcobjects/serverobjectextensions/simplesoapsoe/lib folder.
  6. Ensure that the following jar files are also present in the project's build path: $AGSSERVER/framework/lib/shared_arcgis/arcgis_agsws_stubs.jar, $AGSSERVER/framework/lib/shared_arcgis/arcgis_ws_runtime.jar, $AGSSERVER/framework/lib/shared/jsr173_1.0.jar, $AGSSERVER/framework/lib/shared/jaxb-impl-2.1.jar, $AGSSERVER/framework/lib/shared/jaxb-api-2.1.jar, $AGSSERVER/framework/lib/shared/commons-logging-1.1.1.jar, $AGSSERVER/framework/lib/shared/activation-1.1.jar, $AGSSERVER/framework/lib/shared/commons-codec-1.3.jar, and commons-httpclient-3.0.1.jar (download from Apache's website or this sample's lib folder). These jars are required for compilation and execution of SOAP client applications. The $AGSSERVER environment variable points to the directory ArcGIS Server 10.1 is installed in. If ArcGIS Server 10.1 is not installed locally, copy over these jars from a computer that has ArcGIS Server 10.1 installed
  7. Execute the soapclient/JavaSimpleSOAPSOESOAPClient Java app. Remember to provide values to server name and map service name as program arguments before executing the app.
  8. Compile and execute the soapclient/JavaSimpleSOAPSOESOAPClient Java application.
  9. Check the output messages of the application. This application instantiates the stub class using SOE's HTTP URL and makes a call to those methods that are exposed as operations in the WSDL.

If you installed the samples feature, you will find the files associated with this sample in <Your Developer Kit install location>\DeveloperKit10.4\Java\Samples\ArcObjects.

soe/ The SimpleSOAPSOE Java Server Object Extension class.
soe/ A custom interface that exposes the SOE's SOAP callable methods. The above SOE implements these method.
soe/soapclient/ A client console application that consumes the SOE's web service through Internet connection.
lib/JavaSimpleSOAPSOE_stubs.jar A jar file that contains proxies to generate and send SOAP requests to this SOE.
lib/JavaSimpleSOAPSOE.soe The .soe file that contains this Server Object Extension

Development licensing Deployment licensing
Server Server