Exemplo n.º 1
0
            private void Executor(Model.Integracao integracao, Selia.Integrador.Adapter.Rest.Config configuracao)
            {
                try
                {
                    Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.Rest().Executar(configuracao);


                    if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso)
                    {
                        new BS.Fila().ProcessarFila(objResult, integracao, configuracao.Mapeamentos);
                    }
                    else
                    {
                        Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao();
                        entLogIntegracao.Conteudo   = objResult.Mensagem;
                        entLogIntegracao.Integracao = integracao;
                        entLogIntegracao.Status     = 1;
                        new BS.LogIntegracao().Inserir(entLogIntegracao);
                        //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1}", integracao.Nome, objResult.Mensagem));
                    }
                }
                catch (Selia.Integrador.Utils.Exceptions.HttpRestRetornoException exIntegradoRetorno)
                {
                    Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao();
                    entLogIntegracao.Conteudo   = string.Format("{0} - {1}", exIntegradoRetorno.Message, exIntegradoRetorno.InformacaoAdicional);
                    entLogIntegracao.Integracao = integracao;
                    entLogIntegracao.Status     = 2; //1 Sucesso 2 Erro
                    new BS.LogIntegracao().Inserir(entLogIntegracao);
                    //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, exIntegradoRetorno.Message, exIntegradoRetorno.ToString()));
                }
                catch (Exception ex)
                {
                    Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao();
                    entLogIntegracao.Conteudo   = ex.Message;
                    entLogIntegracao.Integracao = integracao;
                    entLogIntegracao.Status     = 1;
                    new BS.LogIntegracao().Inserir(entLogIntegracao);
                    //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, ex.Message, ex.StackTrace));
                }
            }
Exemplo n.º 2
0
            private void ExecutaItemFila(Model.Integracao integracao, Model.Fila fila, Selia.Integrador.Adapter.Rest.Config configuracao)
            {
                var    integracaoID = integracao.ID;
                string conteudoFila = null;

                try
                {
                    var xmlFila = new XmlDocument();
                    xmlFila.LoadXml(fila.Conteudo);
                    conteudoFila = fila.Conteudo;

                    Selia.Integrador.Adapter.Resultado objResult = new Selia.Integrador.Adapter.Rest().Executar(configuracao, xmlFila);

                    Model.LogFila logFila = new Model.LogFila();
                    logFila.Conteudo              = objResult.ParametrosEnvio;
                    logFila.ConteudoFila          = fila.Conteudo;
                    logFila.ChavePrimaria         = fila.ChavePrimaria;
                    logFila.ChaveSecundaria       = fila.ChaveSecundaria;
                    logFila.LogIntegracao.ID      = fila.LogIntegracaoID;
                    logFila.RespostaSemTratamento = objResult.RespostaSemTratamento;
                    logFila.FilaID       = fila.ID;
                    logFila.IntegracaoID = integracao.ID;

                    if (objResult.RespostaXmlCompleta != null)
                    {
                        logFila.ConteudoRetorno = objResult.RespostaXmlCompleta.InnerXml;
                    }

                    if (objResult.TipoMensagem == Selia.Integrador.Adapter.Resultado.Tipo.Sucesso)
                    {
                        new BS.Fila().Excluir(fila.ID);
                        if (integracao.Destino != null)
                        {
                            new BS.Fila().ProcessarFila(objResult, integracao, configuracao.Mapeamentos);
                        }
                    }
                    else
                    {
                        new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID);
                    }

                    new BS.LogFila().Inserir(logFila);
                }
                catch (Selia.Integrador.Utils.Exceptions.HttpRestRetornoException exIntegradoRetorno)
                {
                    Model.LogFila logFila = new Model.LogFila();
                    logFila.ChavePrimaria    = fila.ChavePrimaria;
                    logFila.ChaveSecundaria  = fila.ChaveSecundaria;
                    logFila.LogIntegracao.ID = fila.LogIntegracaoID;
                    logFila.FilaID           = fila.ID;

                    logFila.ConteudoFila          = fila.Conteudo;
                    logFila.Conteudo              = exIntegradoRetorno.ParamentroEnvio;
                    logFila.RespostaSemTratamento = "Connection: " + ConnectionMonitor.Monitor.Instance.GetStatus() + "  **  " + exIntegradoRetorno.RetornoNaoTratado;
                    logFila.ConteudoRetorno       = exIntegradoRetorno.RetornoTratado;
                    logFila.IntegracaoID          = integracao.ID;

                    new BS.LogFila().Inserir(logFila);
                    new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID);

                    Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao();
                    entLogIntegracao.Conteudo   = string.Format("{0} - Valor de entrada:{1}", exIntegradoRetorno.ToString(), exIntegradoRetorno.InformacaoAdicional);
                    entLogIntegracao.Integracao = integracao;
                    entLogIntegracao.Status     = 2; //1 Sucesso 2 Erro
                    new BS.LogIntegracao().Inserir(entLogIntegracao);
                    //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, exIntegradoRetorno.Message, exIntegradoRetorno.ToString()));
                }
                catch (Selia.Integrador.Utils.Exceptions.HttpRestException exIntegrador)
                {
                    new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID);

                    Model.LogFila logFila = new Model.LogFila();
                    logFila.ChavePrimaria    = fila.ChavePrimaria;
                    logFila.ChaveSecundaria  = fila.ChaveSecundaria;
                    logFila.LogIntegracao.ID = fila.LogIntegracaoID;
                    logFila.FilaID           = fila.ID;

                    logFila.ConteudoFila          = fila.Conteudo;
                    logFila.Conteudo              = exIntegrador.ParamentroEnvio;
                    logFila.RespostaSemTratamento = "Connection: " + ConnectionMonitor.Monitor.Instance.GetStatus() + "  **  " + exIntegrador.RetornoNaoTratado;
                    logFila.ConteudoRetorno       = exIntegrador.RetornoTratado;
                    logFila.IntegracaoID          = integracao.ID;

                    new BS.LogFila().Inserir(logFila);
                    new BS.Fila().AtualizarStatus(Model.Fila.TipoStatus.Erro, fila.ID);

                    if (!string.IsNullOrEmpty(integracao.AcaoReturnoErro))
                    {
                        List <object> parametros = new List <object>();
                        parametros.Add(fila.ID);
                        parametros.Add(fila);
                        parametros.Add(exIntegrador.InformacaoAdicional);

                        new Selia.Integrador.Utils.Generic.Invoke().Exec(integracao.AcaoReturnoErro.Split(';')[0], integracao.AcaoReturnoErro.Split(';')[1], parametros);
                    }
                    else
                    {
                        Model.LogIntegracao entLogIntegracao = new Model.LogIntegracao();
                        entLogIntegracao.Conteudo   = exIntegrador.Message;
                        entLogIntegracao.Integracao = integracao;
                        entLogIntegracao.Status     = 2; //1 Sucesso 2 Erro
                        new BS.LogIntegracao().Inserir(entLogIntegracao);
                        //ServiceLog.LogError(String.Format("Erro: {0} - Message: {1} - StackTrace: {2}", integracao.Nome, exIntegrador.Message, exIntegrador.ToString()));
                    }
                }
            }