Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Geração de client em AdvPL - 5º Passo
|
Abrangência |
---|
ERP 10 e 11 |
Até o 4º passo, vimos um exemplo completo de um client funcionando perfeitamente. Agora, é possível verificarmos que, durante o desenvolvimento e testes do client do serviço, façam-se necessárias determinadas informações internas as rotinas de execução do serviço no client AdvPL. Para isso, foi criada a função WSDLDbgLevel() que permite definir em tempo de execução, um nível de detalhamento de informações adicionais relacionadas ao Web Service; informações que são apresentadas no console do TOTVS | Application Server (caso habilitado).
Essa função, recebe um número como parâmetro, sendo:
Valor | Descrição |
---|---|
0 (padrão) | Sem informações adicionais. |
1 | Apenas strings SOAP de retorno do TOTVS | Application Server. |
2 | String SOAP de envio e retorno. |
Além disso, observe na linha 7, do código-fonte do 3º Passo, que a instrução WSDLDbgLevel(2) é acrescentada para ativar o nível mais complexo de informações adicionais e é possível observar no console, do TOTVS | Application Server, as mensagens apresentadas durante a execução do código-fonte de testes do ?client?.
Deve ser obtido um echo no console do TOTVS | Application Server semelhante ao exemplo abaixo:
Iniciando Thread (siga0984, AUTOMAN)...
1º Exemplo
-------------------------------------------------------------------------------
SvcSoapCall to http://automan:8000/webservice/SERVERTIME.apw / DOCUMENT
NameSpace http://automan:8000/webservice/
SoapAction http://automan:8000/webservice/GETSERVERTIME
Called from GETSERVERTIME ( 137)
Called from U_TESTCLIENT ( 10)
2º Exemplo
---------------------------------- SOAPSEND -----------------------------------
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='
http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/en
velope/'> <soap:Body>
<GETSERVERTIME xmlns='http://automan:8000/webservice/'>
</GETSERVERTIME> </soap:Body>
</soap:Envelope>
-------------------------------------------------------------------------------
3º Exemplo
--------------------------------- POST RETURN ---------------------------------
<?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:xsi='http://www.w3.or
g/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:so
ap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><GETSERVERTIMERESPONSE
xmlns='http://automan:8000/webservice/'><GETSERVERTIMERESULT>10:37:10</GETSERVE
RTIMERESULT></GETSERVERTIMERESPONSE></soap:Body></soap:Envelope>
-------------------------------------------------------------------------------
Fim Thread (siga0984, AUTOMAN) BytesIn 73 BytesOut 75
No primeiro exemplo são as mensagens informativas a respeito da chamada do Web Service, informando a URL chamada, o estilo soap de troca de dados (document ), o NameSpace e o SoapAction utilizados. No segundo exemplo (SOAPSEND) informa o conteúdo do pacote Soap que foi enviado (postado) ao Servidor, e no terceiro exemplo (POST RETURN) informa o conteúdo do pacote Soap devolvido pelo Server referente a esta solicitação.
Quando ocorre um erro qualquer, relacionado ?a execução do ?client? Web Services, o método chamado retorna .F., e o erro pode ser recuperado através da função GetWSCerror(), vista anteriormente . Para cada excessão prevista no ?client?, existe um código de erro correspondente, todos eles prefixados com WSCERR . A maioria das ocorrências está relacionada ?a geração do Código-fonte do ?client? AdvPL utilizado-se o TOTVS | Development Studio. Todas as ocorrencias de excessão tratadas peço Web Services ?client? AdvPL estão relacionadas no Tópico Web Services ?client? ? Códigos de Erro.