+1 voto
118 visitas

No caso de um BusinessComponent que executa em DLL de servidor, podemos utilizar a documentação http://wiki.benner.com.br/wiki/index.php?title=Depura%C3%A7%C3%A3o_de_DLLs_de_Servidor para depurar a execução no provider. No entanto, na maioria dos casos isto não é necessário, pois conseguimos recriar a situação criando o BusinessComponent via macro e passando manualmente os mesmos parâmetros que sabemos que chegam na situação descrita pelo cliente. Isso agiliza bastante, porque depurar um provider nunca é tão simples, principalmente num ambiente de produção, com várias providers executando ao mesmo tempo.

Porém, não encontrei uma forma de fazer isso para processos executados via integrator. Minha expectativa:

Obs.: Não compila, é só para entender a ideia mesmo.

 

Dim txt as String

Dim integrator as Object

Set txt = "

@SERVICO=Y
FILIAL=@CGC(58.518.069/0017-59)
PESSOA=@CGCCPF(59.306.571/0001-00)
*K_TITULO=000364160
*NUMEROCLIENTE=000364160
DATAENTRADA=20190826
DATADABASE=20190826
DOCUMENTODIGITADO=SS
OPERACAO=@CODIGOREDUZIDO(70301)
OPERACAOFATURAMENTO=@CODIGO(20101)
HISTORICO=SOLICITAÇÃO DE SERVIÇOS SS000364160
CONDICAOPAGAMENTO=@DESCRICAO(SS Web)
CONFIRMANTE=@APELIDO(INTEGRATOR)
LIBERADOCONFIRMACAO=N

@SERVICO=Y
*ORDEMVENDA=@CM_ORDENSVENDA@
*PRODUTO=6187
QUANTIDADE=1
VALORUNITARIO=132.65"
Set integrator = CriaObjetoQuePermiteExecutarAMesmaRotinaQueOServidorExecuta(txt)

integrator.Executar()

 

É possível?

por (97 pontos)
editado por | 118 visitas

1 Resposta

+1 voto
Melhor resposta

Ótima pergunta Diego.

Uma dica genérica para qualquer um que precise depurar rotinas .NET (na máquina local) é colocando o código abaixo onde se deseja depurar:

System.Diagnostics.Debugger.Launch();

Esse código faz com que o Visual Studio seja aberto já em modo de depuração nesse código.

Mas evite comitar ou liberar esse código :)

Específicamente para o seu cenário, talvez uma possibilidade seria enviar uma mensagem de Integrator pelo Web Service de Integração, ele recebe mensagens no formato BMQ. 

Bastaria um WES na sua máquina, então você poderia acionar o Web Service pelo SoapUI ou similar.

Combinando o envio pelo Web Service com o Debugger.Launch(), provavelmente você conseguirá depurar a regra .NET.

Veja essa documentação do Web Service de Integração: http://wiki.benner.com.br/wiki/index.php?title=Web_Service_de_Integra%C3%A7%C3%A3o

por (183 pontos)
selecionada por
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários