public string GenerarComprobanteElectronicoPago(dto.ComprobanteElectronicoRequest req) { string URL_BASE = "http://13.68.199.98/wssCustomerETDLoadASPUBL21/CustomerETDLoadASP.asmx"; //string url = URL_BASE + "/" + NombreMetodo; string url = URL_BASE; WebRequest request = WebRequest.Create(url); request.Method = "POST"; request.ContentType = "text/xml; charset=utf-8;"; string postData = req.Xml; byte[] byteArray = Encoding.ASCII.GetBytes(postData); request.ContentLength = byteArray.Length; using (var writeStream = request.GetRequestStream()) { writeStream.Write(byteArray, 0, byteArray.Length); } var xmlDocRequest = new XmlDocument(); xmlDocRequest.LoadXml(req.Xml); var nombreArchivo = "Archivos/ruc_" + req.Ruc + "_" + req.Serie + "_" + req.Folio + "_" + DateTime.Now.ToString("yyyy-MM-dd_HH_mm_ss") + ".xml"; xmlDocRequest.Save(nombreArchivo); string responseFromServer = string.Empty; string CodigoError = string.Empty; string Mensajes = string.Empty; string TrackId = string.Empty; using (var response = (HttpWebResponse)request.GetResponse()) { var respuestita = response.GetResponseStream(); StreamReader reader = new StreamReader(respuestita); responseFromServer = reader.ReadToEnd(); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(responseFromServer); CodigoError = xmlDoc.GetElementsByTagName("Codigo")[0].InnerText; Mensajes = xmlDoc.GetElementsByTagName("Mensajes")[0].InnerText; TrackId = xmlDoc.GetElementsByTagName("TrackId")[0].InnerText; } string respuesta = string.Empty; if (CodigoError == "DOK") { dto.ComprobanteByIdRequest requestComprobante = new dto.ComprobanteByIdRequest(); requestComprobante.IdComprobante = req.IdComprobante; new app.Comprobante().ActualizarEstadoComprobante(requestComprobante, 2); respuesta = "El documento ha sido procesado con exito"; } else { respuesta = "Ha ocurrido un problema con el envio del documento.\nInfo:" + Mensajes; } return(respuesta); }
public dto.ComprobanteElectronicoResponse GenerarXML(dto.ComprobanteElectronicoRequest req) { dto.ComprobanteElectronicoResponse respuesta = new dto.ComprobanteElectronicoResponse(); string URL_BASE = "http://comprobantes.perufactura.pe/wssconsultadocperu/consultaDocumentosPeru.asmx"; //string url = URL_BASE + "/" + NombreMetodo; string url = URL_BASE; WebRequest request = WebRequest.Create(url); request.Method = "POST"; request.ContentType = "text/xml; charset=utf-8;"; string postData = req.Xml; byte[] byteArray = Encoding.ASCII.GetBytes(postData); request.ContentLength = byteArray.Length; using (var writeStream = request.GetRequestStream()) { writeStream.Write(byteArray, 0, byteArray.Length); } string responseFromServer = string.Empty; string CodigoError = string.Empty; string NombreArchivo = string.Empty; string documento64 = string.Empty; using (var response = (HttpWebResponse)request.GetResponse()) { var respuestita = response.GetResponseStream(); StreamReader reader = new StreamReader(respuestita); responseFromServer = reader.ReadToEnd(); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(responseFromServer); NombreArchivo = xmlDoc.GetElementsByTagName("string")[0].InnerText; documento64 = xmlDoc.GetElementsByTagName("string")[1].InnerText; } if (documento64 != string.Empty) { respuesta.Fichero = documento64; respuesta.NombreArchivo = NombreArchivo; } else { respuesta.Fichero = string.Empty; respuesta.NombreArchivo = string.Empty; } return(respuesta); }