+1 voto
119 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 | 119 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 Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários