/// <summary> /// Serialize the argument object into the stream provided. /// </summary> /// <param name="data">Xml stream to serialize the argument object into</param> public void Serialize(IXMLSerializeData data) { #region Prepare PropertySet object names = null, values = null; myProperties.GetAllProperties(out names, out values); IStringArray myNames = new StrArray(); string[] nameArray = (string[])names; IVariantArray myValues = new VarArray(); object[] valArray = (object[])values; for (int i = 0; i < nameArray.GetLength(0); ++i) { myNames.Add(nameArray[i]); if (valArray[i] is IDataset) { IName myDatasetName = ((IDataset)valArray[i]).FullName; myValues.Add(myDatasetName); } else { myValues.Add(valArray[i]); } } #endregion data.TypeName = "WatermarkFunctionArguments"; data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2"; data.AddObject("Names", myNames); data.AddObject("Values", myValues); }
public void Serialize(IXMLSerializeData data) { data.TypeName = "HttpBasicAuthenticationGPValue"; data.TypeNamespaceURI = "http://www.esri.com/schemas/ArcGIS/10.0"; data.AddString(m_xmlElementName, EncodeUserAuthentication(m_username, m_password)); }
private void BufferGeometry(IMessage reqMsg, IMessage respMsg) { IXMLSerializeData reqParams = reqMsg.Parameters; //get Geometry int idx = reqParams.Find("Geometry"); //name of the xml element in the wsdl for this parameter if (idx == -1) { throw new ArgumentNullException("Geometry"); } IGeometry geom = (IGeometry)reqParams.GetObject(idx, c_ns_esri, "Geometry"); //get Distance idx = reqParams.Find("Distance"); //name of the xml element in the wsdl for this parameter if (idx == -1) { throw new ArgumentNullException("Distance"); } double distance = reqParams.GetDouble(idx); //execute IPolygon buffer = BufferGeometry(geom, distance); //fill response respMsg.Name = "BufferGeometryResponse"; //this is the name of the xml element for the SOAP response. It must match the wsdl. respMsg.NamespaceURI = c_ns_soe; //the response message uses your namespace (not ESRI's) respMsg.Parameters.AddObject("Result", buffer); //the name of the xml element for the output parameter is Result. This must match the wsdl. }
/// <summary> /// Serialize the Raster Function into the stream provided. /// </summary> /// <param name="data">Xml stream to serialize the function into</param> public void Serialize(IXMLSerializeData data) { data.TypeName = "WatermarkFunction"; data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2"; data.AddString("Name", myName); data.AddString("Description", myDescription); data.AddInteger("PixelType", (int)myPixeltype); }
public void Serialize(IXMLSerializeData data) { data.TypeName = GetType().Name; data.TypeNamespaceURI = Constants.SOENamespaceURI; data.AddString("Name", Name); data.AddInteger("ID", ID); data.AddObject("Extent", Extent); }
private void EchoInput(IMessage reqMsg, IMessage respMsg) { IXMLSerializeData reqParams = reqMsg.Parameters; string inputString = reqParams.GetString(FindParam("Text", reqParams)); respMsg.Name = "EchoInputResponse"; respMsg.NamespaceURI = c_SOENamespace; respMsg.Parameters.AddString("Result", inputString); }
private void DemoArrayOfCustomObjectsInput(IMessage reqMsg, IMessage respMsg) { IXMLSerializeData reqParams = reqMsg.Parameters; var layerInfos = (CustomLayerInfos)reqParams.GetObject(FindParam("layerInfos", reqParams), Constants.SOENamespaceURI, "ArrayOfCustomLayerInfo"); respMsg.Name = "DemoArrayOfCustomObjectsInputResponse"; respMsg.NamespaceURI = Constants.SOENamespaceURI; respMsg.Parameters.AddObject("Result", layerInfos); }
private int FindParam(string parameterName, IXMLSerializeData msgParams) { int idx = msgParams.Find(parameterName); if (idx == -1) { throw new ArgumentNullException(parameterName); } return(idx); }
private int FindMandatoryParam(string fieldName, IXMLSerializeData data) { int idx = data.Find(fieldName); if (idx == -1) { throw new MissingMandatoryFieldException(fieldName); } return(idx); }
public void Deserialize(IXMLSerializeData data) { int elementIndex = -1; elementIndex = data.Find(m_xmlElementName); if (elementIndex > -1) { DecodeUserNamePassword(data.GetString(elementIndex)); } }
public void Deserialize(IXMLSerializeData data) { int idx = FindMandatoryParam("Name", data); this.Name = data.GetString(idx); idx = FindMandatoryParam("ID", data); this.ID = data.GetInteger(idx); idx = FindMandatoryParam("Extent", data); this.Extent = (IEnvelope)data.GetObject(idx, Constants.ESRINamespaceURI, "Envelope"); }
private void FindNearFeatures(IMessage reqMsg, IMessage respMsg) { IXMLSerializeData reqParams = reqMsg.Parameters; int layerID = reqParams.GetInteger(FindParam("LayerID", reqParams)); IPoint location = (IPoint)reqParams.GetObject(FindParam("Location", reqParams), Constants.ESRINamespaceURI, "PointN"); double distance = reqParams.GetDouble(FindParam("Distance", reqParams)); IRecordSet recordSet = FindNearFeatures(layerID, location, distance); respMsg.Name = "FindNearFeaturesResponse"; respMsg.NamespaceURI = Constants.SOENamespaceURI; respMsg.Parameters.AddObject("Result", recordSet); }
/// <summary> /// Deserialize the argument object from the stream provided /// </summary> /// <param name="data">Xml stream to deserialize the argument object from</param> public void Deserialize(IXMLSerializeData data) { int nameIndex = data.Find("Names"); int valIndex = data.Find("Values"); if (nameIndex != -1 && valIndex != -1) { IStringArray myNames = (IStringArray)data.GetVariant(nameIndex); IVariantArray myValues = (IVariantArray)data.GetVariant(valIndex); for (int i = 0; i < myNames.Count; ++i) { myProperties.SetProperty(myNames.get_Element(i), myValues.get_Element(i)); } } }
/// <summary> /// Deserialize the Raster Function from the datastream provided /// </summary> /// <param name="data">Xml stream to deserialize the function from</param> public void Deserialize(IXMLSerializeData data) { myName = data.GetString(data.Find("Name")); myDescription = data.GetString(data.Find("Description")); myPixeltype = (rstPixelType)(data.GetInteger(data.Find("PixelType"))); }
/// <summary> /// Serialize the Raster Function into the stream provided. /// </summary> /// <param name="data">Xml stream to serialize the function into</param> public void Serialize(IXMLSerializeData data) { data.TypeName = "NDVICustomFunction"; data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2"; data.AddString("Name", myName); data.AddString("Description", myDescription); data.AddInteger("PixelType", (int)myPixeltype); }
/// <summary> /// Deserialize the argument object from the datastream provided /// </summary> /// <param name="data">Xml stream to deserialize the argument object from</param> public void Deserialize(IXMLSerializeData data) { int nameIndex = data.Find("Names"); int valIndex = data.Find("Values"); if (nameIndex != -1 && valIndex != -1) { IStringArray myNames = (IStringArray)data.GetVariant(nameIndex); IVariantArray myValues = (IVariantArray)data.GetVariant(valIndex); for (int i = 0; i < myNames.Count; ++i) { myProperties.SetProperty(myNames.get_Element(i), myValues.get_Element(i)); } } }
/// <summary> /// Serialize the argument object into the stream provided. /// </summary> /// <param name="data">Xml stream to serialize the argument object into</param> public void Serialize(IXMLSerializeData data) { #region Prepare PropertySet object names = null, values = null; myProperties.GetAllProperties(out names, out values); IStringArray myNames = new StrArray(); string[] nameArray = (string[])names; IVariantArray myValues = new VarArray(); object[] valArray = (object[])values; for (int i = 0; i < nameArray.GetLength(0); ++i) { myNames.Add(nameArray[i]); if (valArray[i] is IDataset) { IName myDatasetName = ((IDataset)valArray[i]).FullName; myValues.Add(myDatasetName); } else myValues.Add(valArray[i]); } #endregion data.TypeName = "NDVICustomFunctionArguments"; data.TypeNamespaceURI = @"http://www.esri.com/schemas/ArcGIS/10.2"; data.AddObject("Names", myNames); data.AddObject("Values", myValues); }
void ESRI.ArcGIS.esriSystem.IXMLSerialize.Serialize(IXMLSerializeData data) { }
private int FindParam(string parameterName, IXMLSerializeData msgParams) { int idx = msgParams.Find(parameterName); if (idx == -1) throw new ArgumentNullException(parameterName); return idx; }
public void Deserialize(IXMLSerializeData data) { throw new NotImplementedException(); }