Função de Errorblock não funciona com WS SOAP

O error block não funciona qunado utilizado em WebService SOAP.

Ele retorna o seguinte erro WSDLSRVERROR(X, .F. )

Tenho um WebService criado em ADVPL para execuções de rotinas e gostaria de utilizar o errorblock para capturar possiveis erros, pois segundo os artigos abaixo, não é retornado mais o erro completo.

https://tdn.totvs.com/display/public/PROT/ADV0001_WebService_INTERNAL_SERVER_ERRO https://tdn.totvs.com/pages/releaseview.action?pageId=311632028

Segue exemplo :

WSMETHOD xTeste WSRECEIVE xParam WSSEND xRet WSSERVICE ws_teste

Local oError Local cError := "" Local bErrorBlock := ErrorBlock( { |e| oError := e , BREAK(e) } )

BEGIN SEQUENCE

//Execuções diversas // ...

n := 1 + 'n' // Forçando um erro para captura

RECOVER

ErrorBlock( bErrorBlock )

cError := oError:Description

END SEQUENCE

xRet := n

Return .T.

//--------------------------------------------------------------------------

Porem isso não funciona, quando executa o erro ele de fato cai no RECOVER porem não trás o erro e sim um outro errorblock , WSDLSRVERROR(X, .F. )

compartilhar
  • Boa noite Lucas, o que exatamente você está fazendo?

    Daniel Mendes   23 de Apr de 2020
  • WebService SOAP

    Lucas Antunes de Souza   24 de Apr de 2020
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl webservices ou faça a sua própria pergunta.