コード例 #1
0
        public Recepcion.respuestaSolicitud EnviarComprobante(String rutafirma, String xml)
        {
            Recepcion.respuestaSolicitud response = null;
            try
            {
                var        xmlDoc     = new XmlDocument();
                var        uidCert    = GetCertificateByPath(rutafirma, "Amira2019alaia");
                FirmaXades firmaXades = new FirmaXades(SignMethod.RSAwithSHA1, DigestMethod.SHA1);
                xmlDoc.Load(xml);

                xmlDoc.PreserveWhitespace = true;
                firmaXades.SetContentEnveloped(xmlDoc);
                firmaXades.Sign(uidCert, SignMethod.RSAwithSHA1);

                using (Recepcion.RecepcionComprobantesOfflineClient envio = new Recepcion.RecepcionComprobantesOfflineClient())
                {
                    response = envio.validarComprobante(System.Text.Encoding.UTF8.GetBytes(firmaXades.Document.InnerXml));
                    return(response);
                }
            }
            catch (Exception Ex)
            {
                return(response);
            }
        }
コード例 #2
0
        public String TestPrueba(String rutafirma, String rutaxml, String rutaDevuelto, String rutaAutorizados, String cor)
        {
            String retorno = null;

            if (GenerarXML.VerificarConexion())
            {
                Recepcion.respuestaSolicitud responseE = enviar.EnviarComprobante(rutafirma, rutaxml);
                if (responseE != null)
                {
                    String clave = Obtenerclaveacceso(rutaxml);
                    String estado = responseE.estado;
                    if (estado == "DEVUELTA")
                    {
                        String identificadorD = "";
                        String infomacionAdicionalD = "";
                        String tipoD = "";
                        String mensaje1D = "";
                        String estadD = responseE.estado;
                        var comprobantes = responseE.comprobantes.ToList();
                        foreach (Recepcion.comprobante compro in comprobantes)
                        {
                            var mesajes = compro.mensajes.ToList();
                            foreach (Recepcion.mensaje mesaj in mesajes)
                            {
                                identificadorD = mesaj.identificador;
                                infomacionAdicionalD = mesaj.informacionAdicional;
                                tipoD = mesaj.tipo;
                                mensaje1D = mesaj.mensaje1;
                            }
                        }
                        String rutaDevuel = rutaDevuelto + clave + ".xml";
                        Boolean generoXml = generar.getGenerarXmlDevuelto(rutaxml, estado, clave, identificadorD, mensaje1D, tipoD, rutaDevuel);
                        if (generoXml)
                        {
                            retorno = "El documento con la clave acceso " + clave + " fue DEVUELTO\nRevise la ruta de documentos devueltos";
                        }
                    }
                    else if (estado == "RECIBIDA")
                    {
                        String ambienteR = "";
                        String estadoR = "";
                        String fechaAutoR = "";
                        String numeroAutoR = "";
                        String comprobanteR = "";
                        String identificadorR = "";
                        String infomacionAdicionalR = "";
                        String tipoR = "";
                        String mensaje1R = "";
                        String rutaAutorizad = rutaAutorizados + clave + ".xml";
                        
                        Autorizacion.respuestaComprobante responseA = cons.ConsultarComprobante(clave);
                        var autorizaciones = responseA.autorizaciones.ToList();
                        foreach (Autorizacion.autorizacion autorizar in autorizaciones)
                        {
                            ambienteR = autorizar.ambiente;
                            estadoR = autorizar.estado;
                            fechaAutoR = autorizar.fechaAutorizacion.ToString();
                            numeroAutoR = autorizar.numeroAutorizacion;
                            comprobanteR = autorizar.comprobante;
                            var mesajesR = autorizar.mensajes.ToList();
                            foreach (Autorizacion.mensaje mesaj in mesajesR)
                            {
                                identificadorR = mesaj.identificador;
                                infomacionAdicionalR = mesaj.informacionAdicional;
                                tipoR = mesaj.tipo;
                                mensaje1R += mesaj.mensaje1;
                            }
                        }
                        Boolean generoxml = generar.getGenerarXmlAutorizado(estadoR, numeroAutoR, fechaAutoR, ambienteR, comprobanteR, rutaAutorizad);
                        if (generoxml)
                        {
                            retorno = "OK";
                        }
                       
                    }
                }
                else
                {
                    retorno = "No tenemos acceso al servidor, Reintente más tarde";
                }

            }
            else
            {
                retorno = "No tiene acceso al Internet";
            }



            return retorno;
        }