SOE Properties and Web Capabilities


SOE Properties and Web Capabilites

When a SOE provides multiple web capablities, the administrator in charge of deploying the SOE can determine which capability to expose to users based on roles, privileges, and/or any other criteria. An example would be the Map Server object, which provides 3 web capabilities called Map, Query, and Data. Admin clients such as ArcCatalog and ArcGIS Manager allow you to select/deselect these web capabilities on your map service. Each capability is independent of the other and selecting one capability has no effect on others.
Using the Eclipse plug-in for building SOE's allows developers to easily allow administrative clients to set properties that can be used in your SOE.  To allow administrative clients the ability to set properties for you SOE be sure to check the 'Add Properties' checkbox and check the 'Create a Java Swing class to edit properties in ArcCatalog' checkbox if you plan on administering through ArcCatalog. 
While property pages are integrated in ArcGIS Manager through the @ServerObjectExtProperties annotation in the SOE source code, in ArcCatalog we need to provide a Java UI component which gets embedded into ArcCatalogs Map Service Properties dialog.  When you select the 'Create a Java Swing class to edit properties in ArcCatalog' checkbox, the wizard generates the Java UI class for you.  To add properties, click the 'New' button under 'Add Configurable Properties' and add a 'Property Name' and 'Default Value'.  Once complete you can finish the wizard.  If you open the resulting DemoSOEPropPage.java file which was automatically generated, you will see the properties you added under the initProps() method. 
Below are screenshots of a SOE with configurable properties: 
ArcCatalog
ArcGIS Manager

Configurable Capabilites

If you chose to 'Enable web support' when developing your SOE with the Eclipse SOE plug-in you had the option of setting Web Capabilities for your SOE. 
You can add Web Capabilities through the SOE wizard dialogs. 
This resulting Web Capabilities are added to the @ServerObjectExtProperties annotation of your SOE source code under the 'allSOAPCapabilites' parameter. 
[Java]
@ServerObjectExtProperties(displayName = "Demo SOE Web Service", description = 
    "Demo SOE Web Service", properties = {
    "InputSteetName=burnside", "DistanceFromStreet=1.0", "SearchFor=gas stations"
}

, allSOAPCapabilites = {
    "distanceFromStreet})
A view of the administering properties through ArcGIS Manager is offered below: 






Development licensing Deployment licensing
Server Server