/// <summary> /// /// </summary> /// <param name="compressedString"></param> /// <returns></returns> public string DeCompress(string compressedString, Enum_Encoding eEncoding) { string sEncoding = EncodingIn(eEncoding); string uncompressedString = ""; int totalLength = 0; byte[] bytInput = System.Convert.FromBase64String(compressedString); byte[] writeData = new byte[bytInput.Length]; Stream s2 = new InflaterInputStream(new MemoryStream(bytInput)); while (true) { int size = s2.Read(writeData, 0, writeData.Length); if (size > 0) { totalLength += size; uncompressedString += Encoding. GetEncoding(sEncoding).GetString(writeData, 0, size); } else { break; } } s2.Close(); return(uncompressedString); }
/// <summary> /// /// </summary> /// <param name="sEncoding"></param> /// <returns></returns> public static string EncodingIn(Enum_Encoding eEncoding) { string sEncoding = "UTF-8"; switch (eEncoding) { case Enum_Encoding.Unicode: sEncoding = "UTF-16"; break; case Enum_Encoding.UTF7: sEncoding = "UTF-7"; break; case Enum_Encoding.UTF8: sEncoding = "UTF-8"; break; case Enum_Encoding.UTF32: sEncoding = "UTF-32"; break; case Enum_Encoding.ISO88591: sEncoding = "UTF-8"; break; } return(sEncoding); }
/// <summary> /// /// </summary> /// <param name="sEncoding"></param> /// <returns></returns> public static Enum_Encoding EncodingOut(string sEncoding) { sEncoding = sEncoding.ToUpper(); Enum_Encoding eEncoding = Enum_Encoding.UTF8; switch (sEncoding) { case "UTF-16": eEncoding = Enum_Encoding.Unicode; break; case "UNIDOCE": eEncoding = Enum_Encoding.Unicode; break; case "UTF-7": eEncoding = Enum_Encoding.UTF7; break; case "UTF-8": eEncoding = Enum_Encoding.UTF8; break; case "UTF-32": eEncoding = Enum_Encoding.UTF32; break; case "ISO-8859-1": eEncoding = Enum_Encoding.ISO88591; break; } return(eEncoding); }
public string ObtenerHttpWebResponse(string strUrl, Enum_Encoding eEnconding) { string strHeader = "Accept-Encoding:gzip, deflate"; return(this.ObtenerHttpWebResponse(strUrl, "text/xml", "POST", "", "", "", "", eEnconding, strHeader)); }
/// <summary> /// /// </summary> /// <param name="uncompressedString"></param> /// <returns></returns> public string Compress(string uncompressedString, Enum_Encoding eEncoding) { string sEncoding = EncodingIn(eEncoding); byte[] bytData = Encoding. GetEncoding(sEncoding).GetBytes(uncompressedString); MemoryStream ms = new MemoryStream(); Stream s = new DeflaterOutputStream(ms); s.Write(bytData, 0, bytData.Length); s.Close(); byte[] compressedData = (byte[])ms.ToArray(); return(System.Convert.ToBase64String(compressedData, 0, compressedData.Length)); }
public XmlDocument CrearXmlDs(DataSet dsData, Enum_Encoding eEncoding) { string sEncoding = clsHttpZipper.EncodingIn(eEncoding); string sEncoding8 = clsHttpZipper.EncodingIn(Enum_Encoding.UTF8); string sEncoding16 = clsHttpZipper.EncodingIn(Enum_Encoding.Unicode); XmlDocument xmlDoc = new XmlDocument(); XmlSerializer SerializerRQ = new XmlSerializer(typeof(DataSet)); StringWriter WriterRQ = new StringWriter(); SerializerRQ.Serialize(WriterRQ, dsData); xmlDoc.LoadXml(WriterRQ.ToString()); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace(sEncoding8, sEncoding); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace(sEncoding16, sEncoding); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace(sEncoding8.ToLower(), sEncoding); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace(sEncoding16.ToLower(), sEncoding); return(xmlDoc); }
/// <summary> /// Crea un archivo Xml en disco y retorna un documento xml a partir de un datatable /// </summary> /// <param name="dsData">Dataset que contiene la tabla</param> /// <param name="sNameTable">Nombre que se le dara a la tabla para los nodos, si no existe se creara como Referencia</param> /// <param name="sPathFile">Ruta fisica donde se creara el xml</param> /// <param name="sNameXml">Nombre del Xml, sin extencion</param> /// <param name="iIndexTable">Indice de la tabla en el dataset</param> /// <returns></returns> public XmlDocument CrearXmlTable(DataSet dsData, string sNameTable, string sPathFile, string sNameXml, int iIndexTable, Enum_Encoding eEncoding) { try { string sEncoding = clsHttpZipper.EncodingIn(eEncoding); XmlDocument xmlDoc = new XmlDocument(); DataTable dtData = new DataTable(); string sPath = sPathFile + sNameXml + ".xml"; dtData = dsData.Tables[iIndexTable]; if (sNameTable.Length.Equals(0)) { dtData.TableName = "Referencias"; } else { dtData.TableName = sNameTable; } dtData.WriteXml(sPath); xmlDoc.Load(sPath); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace("standalone=", "encoding="); xmlDoc.InnerXml = xmlDoc.InnerXml.Replace("yes", sEncoding); return(xmlDoc); } catch { return(null); } }
/// <summary> /// Obtiene una respuesta de un servicio web a partir de una solicitud xml /// </summary> /// <param name="strUrl">Dirección del servicio xml</param> /// <param name="strContentType">Tipo de contenido de la solicitud</param> /// <param name="strMethod">Método de obtención del resultado Get o Post</param> /// <param name="strContent">Xml con el detalle de la solicitud</param> /// <param name="arrHeaders">Arreglo con las opciones condicionales del encabezado de la solicitud</param> /// <returns>cadena con el resultado de la solicitud</returns> /// <remarks> /// Autor : José Faustino Posas /// Fecha : 2009-11-03 /// </remarks> public string ObtenerHttpWebResponse( string strUrl, string strContentType, string strMethod, string strContent, string strProxy, string strProxyUser, string strProxyPassword, Enum_Encoding eEnconding, params string[] arrHeaders) { HttpWebRequest hwrRequest = (HttpWebRequest)WebRequest.Create(strUrl); string strXml = ""; foreach (string strHeader in arrHeaders) { if (strHeader.Length > 0) { hwrRequest.Headers.Add(strHeader); } } if (strMethod.Length > 0) { hwrRequest.Method = strMethod; } if (strContentType.Length > 0) { hwrRequest.ContentType = strContentType; } if (strProxy != null && strProxy != "") { // 2006-08-08: Edwin. Control para cuando se ejecuta este módulo desde // una red que requiere autenticación con proxy WebProxy wpProxy; wpProxy = WebProxy.GetDefaultProxy(); wpProxy.Address = new Uri(strProxy); // 2006-09-12 EADE if (strProxyUser != "") { wpProxy.Credentials = new NetworkCredential(strProxyUser, strProxyPassword); } hwrRequest.Proxy = wpProxy; hwrRequest.KeepAlive = true; hwrRequest.ProtocolVersion = HttpVersion.Version10; } //Encoding isoEncoding = Encoding.GetEncoding("ISO-8859-1"); Encoding isoEncoding = Encoding.GetEncoding(clsHttpZipper.EncodingIn(eEnconding)); if (strContent.Length > 0) { byte[] postBytes = isoEncoding.GetBytes(strContent); hwrRequest.ContentLength = postBytes.Length; Stream postStream = hwrRequest.GetRequestStream(); postStream.Write(postBytes, 0, postBytes.Length); postStream.Close(); } HttpWebResponse hwrResponse = (HttpWebResponse)hwrRequest.GetResponse(); // 2006-10-05 Edwin. Mejora de rendimiento Stream responseStream = clsHttpZipper.GetResponseStream(hwrResponse); StreamReader sr = new StreamReader(responseStream, isoEncoding); String respString = sr.ReadToEnd(); if (respString.Contains("\r\n")) { respString = respString.Replace("\r\n", ""); } XmlDocument Doc = new XmlDocument(); Doc.LoadXml(respString); strXml = Doc.InnerXml; hwrResponse.Close(); if (clsValidaciones.GetKeyOrAdd("HotelBedsReqRes").ToUpper() == "TRUE") { ExceptionHandled.Publicar("Sistema para Verificar Request & response"); ExceptionHandled.Publicar(strContent); ExceptionHandled.Publicar("Enter Simulado"); ExceptionHandled.Publicar(strXml); } return(strXml); }
/// <summary> /// Obtiene una respuesta de un servicio web a partir de una solicitud xml /// </summary> /// <param name="strRequest">Xml de la solicitud</param> /// <param name="strUrl">Dirección del servicios xml</param> /// <returns>cadena con el resultado de la solicitud</returns> /// <remarks> /// Autor : EADE /// Fecha : 2006-06-16 /// </remarks> public string ObtenerHttpWebResponse(string strRequest, string strUrl, string strProxy, string strProxyUser, string strProxyPassword, Enum_Encoding eEnconding) { string strHeader = "Accept-Encoding:gzip, deflate"; return(this.ObtenerHttpWebResponse(strUrl, "text/xml", "POST", strRequest, strProxy, strProxyUser, strProxyPassword, eEnconding, strHeader)); }
/// <summary> /// Obtiene a través de web client en resultado de una solicitud xml /// </summary> /// <param name="strRequest">Contenido de la solicitud</param> /// <param name="strUrl">Dirección web del servicio</param> /// <returns>cadena con el resultado de la solicitud</returns> /// <remarks> /// Autor : EADE /// Fecha : 2006-06-16 /// </remarks> public string ObtenerWebClientResponse(string strRequest, string strUrl, string strProxy, string strProxyUser, string strProxyPassword, Enum_Encoding eEnconding) { XmlDocument xmlDoc = new XmlDocument(); WebClient wcClient = new WebClient(); Encoding isoEncoding = Encoding.GetEncoding(clsHttpZipper.EncodingIn(eEnconding)); byte[] bytesReq = isoEncoding.GetBytes(strRequest); // 2006-09-21: Edwin. Control para cuando se ejecuta este módulo desde // una red que requiere autenticación con proxy if (strProxy != null && strProxy != "") { wcClient.BaseAddress = strProxy; wcClient.Credentials = new NetworkCredential(strProxyUser, strProxyPassword); } wcClient.Headers.Add("Content-Type", "text/xml"); byte[] respBytes = wcClient.UploadData(strUrl, "POST", bytesReq); MemoryStream msStream = new MemoryStream(respBytes, false); using (StreamReader srReader = new StreamReader(msStream, isoEncoding)) { xmlDoc.Load(srReader); } return(xmlDoc.InnerXml); }
/// <summary> /// Obtiene a través de web client en resultado de una solicitud xml /// </summary> /// <param name="strRequest">Contenido de la solicitud</param> /// <param name="strUrl">Dirección web del servicio</param> /// <returns>cadena con el resultado de la solicitud</returns> /// <remarks> /// Autor : EADE /// Fecha : 2006-06-16 /// </remarks> public string ObtenerWebClientResponse(string strRequest, string strUrl, Enum_Encoding eEnconding) { return(ObtenerWebClientResponse(strRequest, strUrl, "", "", "", eEnconding)); }