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); } }
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; }