Пример #1
0
        public SAT.CFDI.Cliente.Procesamiento.ServicioRecepcionCFDI.Acuse EnviarBloqueCfdi(Encabezado encPMEtadato)
        {
            Stream contenidoArchivo = null;

            SAT.CFDI.Cliente.Procesamiento.ServicioRecepcionCFDI.Acuse result;
            try
            {
                EncabezadoCFDI encabezadoCfdi = new EncabezadoCFDI
                {
                    RfcEmisor          = encPMEtadato.RfcEmisor,
                    VersionComprobante = encPMEtadato.version,
                    NumeroCertificado  = encPMEtadato.NumeroCertificado,
                    UUID  = encPMEtadato.UUID,
                    Fecha = encPMEtadato.Fecha
                };
                AccesoServicios.Log.Info("Autenticacion");
                HttpRequestMessageProperty tokenAutenticacion = this.AutenticaServicio();
                AccesoServicios.Log.Info("Termina Autenticacion");
                using (new OperationContextScope(this.ClienteRecepcion.InnerChannel))
                {
                    try
                    {
                        OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = tokenAutenticacion;
                        contenidoArchivo = AccesoDisco.RecuperaArchivo(encPMEtadato.Xml);
                        AdministradorLogs.RegistraEntrada(string.Format("Se inicia envío de archivo, Tamaño: {0} bytes", contenidoArchivo.Length));
                        AccesoServicios.Log.Info("Inicia AlmacenarCfdiFramework4");
                        string rutaBlob = this.ClienteAlmacenBlob.AlmacenarCfdiFramework4(contenidoArchivo, File.ReadAllText(encPMEtadato.Xml), Path.GetFileName(encPMEtadato.Xml));
                        AccesoServicios.Log.Info("Termina AlmacenarCfdiFramework4");
                        AccesoServicios.Log.Info("Inicia Recibe");
                        SAT.CFDI.Cliente.Procesamiento.ServicioRecepcionCFDI.Acuse acuseRecepcion = this.ClienteRecepcion.Recibe(encabezadoCfdi, rutaBlob);
                        contenidoArchivo.Close();
                        AccesoServicios.Log.Info("Termina Recibe");
                        result = acuseRecepcion;
                        return(result);
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine(exception.ToString());
                        if (contenidoArchivo != null && contenidoArchivo.CanRead)
                        {
                            contenidoArchivo.Close();
                        }
                        AccesoServicios.Log.Error(string.Format("Se genero un error proceso de recepción: {0}\n\n Stack Trace: {1}", exception.Message, exception.StackTrace));
                    }
                }
            }
            catch (Exception exception)
            {
                if (contenidoArchivo != null && contenidoArchivo.CanRead)
                {
                    contenidoArchivo.Close();
                }
                AccesoServicios.Log.Error(string.Format("Se genero un error proceso de recepción: {0}\n\n Stack Trace: {1}", exception.Message, exception.StackTrace));
            }
            result = null;
            return(result);
        }
 public static void GenerarLog(string rutaAbsoluta)
 {
     AccesoDisco.GuardarArchivoTexto(rutaAbsoluta, logBuilder.ToString());
 }