/// <summary> /// Invokes service /// </summary> /// <param name="encode">Added parameters will encode? (default: true)</param> public void Invoke(bool encode) { SoapStr = @"<?xml version=""1.0"" encoding=""utf-8""?> <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""> <soap:Body> <{0} xmlns=""http://tempuri.org/""> {1} </{0}> </soap:Body> </soap:Envelope>"; var req = (HttpWebRequest)WebRequest.Create(Url); req.Headers.Add("SOAPAction", "\"http://tempuri.org/" + MethodName.Trim() + "\""); req.ContentType = "text/xml;charset=\"utf-8\""; req.Accept = "text/xml"; req.Method = "POST"; using (var stm = req.GetRequestStream()) { var postValues = ""; foreach (var param in Params) { if (encode) { postValues += string.Format("<{0}>{1}</{0}>", HttpUtility.UrlEncode(param.Key.Trim()), HttpUtility.UrlEncode(param.Value.Trim())); } else { postValues += string.Format("<{0}>{1}</{0}>", param.Key.Trim(), param.Value.Trim()); } } SoapStr = string.Format(SoapStr, MethodName.Trim(), postValues); using (var stmw = new StreamWriter(stm)) { stmw.Write(SoapStr); } } using (var responseReader = new StreamReader(req.GetResponse().GetResponseStream())) { var result = responseReader.ReadToEnd(); ResultXML = result.StringToXml(); ResultString = result.Replace(">", "<").Replace("<", ">"); } }