com.esri.arcgis.carto
Interface IWMSServer

All Superinterfaces:
Serializable
All Known Implementing Classes:
IWMSServerProxy, WMSImageServer, WMSServer

public interface IWMSServer
extends Serializable

Provides access to the available WMS Server properties and methods.

Description

Provide access to the properties and methods of WMS Server Object Extension, through which Server Object can provide OGC Web Map Map (WMS) Service.

When To Use

Use IWMSServer Interface to communicate with ArcGIS Server Object through OGC Web Map Service (WMS) protocol.

IWMSServer is actually a connector between ArcGIS Server Object and OGC WMS clients. When Server Object provide WMS service, IWMSServer accepts WMS GetCapabilities, WMS GetMap and WMS GetFeatureInfo requests from WMS clients, parses them, sends them to Server Object, gets response back and finally sends WMS responses to clients.

Product Availability

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


Method Summary
 byte[] getData(String capabilities, String request, String[] pMimeType)
          Handle WMS Server binary request.
 String getToPost(String sGet)
          Handle translation from Get to Post.
 void setParameters(String name, String value)
          Handle setting WMS Server parameters.
 

Method Detail

getToPost

String getToPost(String sGet)
                 throws IOException,
                        AutomationException
Handle translation from Get to Post.

Description

Convert a WMS request string (query string used in WMS HTTP GET request mode) to an WMS request XML (XML used in WMS HTTP POST request mode)

Remarks

According to OGC WMS Implementation Specification, A WMS Server should be able to accept WMS request in both HTTP GET (requests are WMS URL appended by key-value pairs) mode and HTTP Post mode (requests are XML whose DTD or shchema are defined in WMS Specification). To simplify the logic of WMS Server Object Extension, all WMS requests will be converted to XML before they reach the server object, so method GetToPost() is used whenever a WMS request in HTTP GET mode is received.

Product Availability

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

Parameters:
sGet - The sGet (in)
Returns:
The pPost
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getData

byte[] getData(String capabilities,
               String request,
               String[] pMimeType)
               throws IOException,
                      AutomationException
Handle WMS Server binary request.

Description

Parse WMS requests and get responses from Server Object.

Remarks

Responses can either be normal XML document containing meta information, feature information and exception information, or images

Product Availability

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

Parameters:
capabilities - The capabilities (in)
request - The request (in)
pMimeType - The pMimeType (out: use single element array)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setParameters

void setParameters(String name,
                   String value)
                   throws IOException,
                          AutomationException
Handle setting WMS Server parameters.

Description

Set the parameters of WMS Server Object Extension.

Remarks

Multiple users will be able to use a same Server Object to provide WMS service, but they may provide different information for their own WMS service, for example, "organization info", "contact info", "Style URL". They can use setParameters() method to populate these information.

Product Availability

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

Parameters:
name - The name (in)
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.