com.esri.arcgis.carto
Class IWMSServerProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.carto.IWMSServerProxy
All Implemented Interfaces:
IWMSServer, Externalizable, Serializable

public class IWMSServerProxy
extends com.esri.arcgis.interop.Dispatch
implements IWMSServer, 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.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IWMSServerProxy()
           
  IWMSServerProxy(Object obj)
           
protected IWMSServerProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 byte[] getData(String capabilities, String request, String[] pMimeType)
          Handle WMS Server binary request.
 String getToPost(String sGet)
          Handle translation from Get to Post.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void setParameters(String name, String value)
          Handle setting WMS Server parameters.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IWMSServerProxy

public IWMSServerProxy()

IWMSServerProxy

public IWMSServerProxy(Object obj)
                throws IOException
Throws:
IOException

IWMSServerProxy

protected IWMSServerProxy(Object obj,
                          String iid)
                   throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

getToPost

public 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.

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

getData

public 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.

Specified by:
getData in interface IWMSServer
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

public 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.

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

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException