Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }