Exemplo de uso da função GETWSCERROR
No exemplo abaixo, é ilustrado o tratamento de erro sugerido para uma chamada de um método através de um programa 'Client', desenvolvido em Advpl.
#include 'Protheus.ch'#include 'ApWebSrv.ch'User Function TstServiceLocal oService , cSvcError , cSoapFCode ,cSoapFDescr // Cria uma instância do serviço ClienteoService := WSTeste():New()// Realiza a chamada do método Hello() do serviço.If oService:Hello() // Método executado com sucesso. MsgStop('Execução OK')Else // Caso o método retorne .F. , devemos identificar e tratar a ocorrência cSvcError := GetWSCError() // Resumo do erro cSoapFCode := GetWSCError(2) // Soap Fault Code cSoapFDescr := GetWSCError(3) // Soap Fault Description If !empty(cSoapFCode) // Caso a ocorrência de erro esteja com o fault_code preenchido , // a mesma teve relação com a chamada do serviço . MsgStop(cSoapFDescr,cSoapFCode) Else // Caso a ocorrência não tenha o soap_code preenchido // Ela está relacionada a uma outra falha , // provavelmente local ou interna. MsgStop(cSvcError,'FALHA INTERNA DE EXECUCAO DO SERVIÇO') Endif EndifoService := NIL Return
No exemplo abaixo, é ilustrado o tratamento de erro sugerido para uma chamada de um método através de um programa 'Client', desenvolvido em Advpl.
#include 'Protheus.ch'#include 'ApWebSrv.ch'User Function TstServiceLocal oService , cSvcError , cSoapFCode ,cSoapFDescr // Cria uma instância do serviço ClienteoService := WSTeste():New()// Realiza a chamada do método Hello() do serviço.If oService:Hello() // Método executado com sucesso. MsgStop('Execução OK')Else // Caso o método retorne .F. , devemos identificar e tratar a ocorrência cSvcError := GetWSCError() // Resumo do erro cSoapFCode := GetWSCError(2) // Soap Fault Code cSoapFDescr := GetWSCError(3) // Soap Fault Description If !empty(cSoapFCode) // Caso a ocorrência de erro esteja com o fault_code preenchido , // a mesma teve relação com a chamada do serviço . MsgStop(cSoapFDescr,cSoapFCode) Else // Caso a ocorrência não tenha o soap_code preenchido // Ela está relacionada a uma outra falha , // provavelmente local ou interna. MsgStop(cSvcError,'FALHA INTERNA DE EXECUCAO DO SERVIÇO') Endif EndifoService := NIL Return
Advanced Protheus 7.10
,
Microsiga Protheus 8.11
Nível 1 (Acesso Clientes)
Espanhol
,
Inglês
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas