Versão atual:

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. )

Versões (2):

Ver a versão formatada

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

Comentário

new question