/// <summary> /// OGC WFS GetCapabilities 1.1.0 /// </summary> /// <param name="context"></param> private void ProcessGetCapabilities_1_1_0(HttpResponse response, StringDictionary parameters) { // deserialise GetCapabilities document XmlSerializer deSerializer = new XmlSerializer(typeof(WFS_Capabilities), string.Empty); FileStream readStream = new FileStream(Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data"), "WFSCapabilities.xml"), FileMode.Open, FileAccess.Read); WFS_Capabilities wfsCapabilities = (WFS_Capabilities)deSerializer.Deserialize(readStream); readStream.Close(); // Namespaces XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add(Declarations.Wfs110DefaultPrefix, Declarations.Wfs110DefaultNameSpace); namespaces.Add(Declarations.Wfs110Prefix, Declarations.Wfs110NameSpace); namespaces.Add(Declarations.OwsPrefix, Declarations.OwsNameSpace); namespaces.Add(Declarations.OgcPrefix, Declarations.OgcNameSpace); namespaces.Add(Declarations.XlinkPrefix, Declarations.XlinkNameSpace); // Serialize XmlSerializer serializer = new XmlSerializer(typeof(GeospatialServices.Ogc.Wfs.WFS_Capabilities)); MemoryStream memoryStream = new MemoryStream(); serializer.Serialize(memoryStream, wfsCapabilities, namespaces); byte[] buffer = memoryStream.ToArray(); response.Clear(); response.ContentType = "text/xml"; response.OutputStream.Write(buffer, 0, buffer.Length); }
public void GetWFSCapabilitiesTest() { string url = _wfsHandlerURL + "?SERVICE=WFS&REQUEST=GetCapabilities&VERSION=1.1.0"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Assert.AreEqual("text/xml", response.ContentType); // Get the stream associated with the response. Stream receiveStream = response.GetResponseStream(); // Serialize XmlSerializer serializer = new XmlSerializer(typeof(WFS_Capabilities), string.Empty); WFS_Capabilities capabilities = (WFS_Capabilities)serializer.Deserialize(receiveStream); Assert.AreEqual(capabilities.Version, "1.1.0"); Assert.AreEqual("WFS", capabilities.ServiceIdentification.Title); }