Tecnologia > Manual de Instalação > Informações Técnicas > Recursos > Integração > Web services > Módulo de dispatch para serviços de terceiros

Módulo de dispatch para serviços de terceiros

O módulo de dispach para serviços de terceiros é uma biblioteca utilizada para fazer a ligação entre um sistema Senior e um serviço de terceiro, que deve ser desenvolvida obedecendo as seguintes especificações: 

Método CallTPWS

O método CallTPWS é chamado para executar o serviço solicitado pelo usuário, e tem a seguinte assinatura (em pascal):

function CallTPWS(const aEndPointURL: WideString; const aMethodName: WideString; aTimeout: Cardinal; const aProxyIP: WideString;
aProxyPort: Smallint; const aProxyUser: WideString; const aProxyPwd: WideString; const aParams: WideString): WideString; stdcall;

Parâmetros:

Nome Tipo Descrição
aEndPointURL WideString Nome do serviço concatenado à URL do servidor.
aMethodName WideString Nome da porta de serviço que está sendo executada.
aTimeout Cardinal Timeout da porta.
aProxyIP WideString IP do servidor de proxy.
aProxyPort Smallint Porta do proxy.
aProxyUser WideString Usuário do proxy.
aProxyPwd WideString Senha do usuário do proxy.
aParams WideString Valores do parâmetros de entrada da porta de serviço no formato XML.


Formato do XML de parâmetros de entrada:

<?xml version="1.0" encoding="ISO-8859-1"?>
<request>
<params>
<Alfanumerico>
<![CDATA[Valor do parâmetro alfanumérico.]]>
</Alfanumerico>
<Inteiro>2007</Inteiro>
<Texto isbase64='1'>VmFsb3IgZG8gcGFy4m1ldHJvIHRleHRvLg0KTGluaGEgZG9pcy4=</Texto>
<Tabela>
<line>
<Coluna1>
<![CDATA[Valor da coluna alfanumérica.]]>
</Coluna1>
<Coluna2>1012</Coluna2>
</line>
<line>
<Coluna1>
<![CDATA[Valor da linha 2.]]>
</Coluna1>
<Coluna2>129</Coluna2>
</line>
</Tabela>
</params>
</request>

Observação

O XML de entrada não é case sensitive.

Retorno:

Deve retornar o valor de todos os parâmetros de saída no formato XML.
O XML de retorno deve seguir a mesma especificação do XML dos parâmetros de entrada, porém, ao invés do nó principal ser <request>, deve ser <response>.

Caso ocorra algum erro inesperado na chamada do serviço, pode-se devolver diretamente a mensagem de erro. Exceção gerada para a mensagem "Falha de comunicação com o servidor.".

Tipos dos parâmetros:

Os parâmetros da porta de serviço podem ser de entrada, de saída ou ambos, e podem ser dos seguintes tipos:

Tipo XML
Alfanumérico <nome>Valor</nome>
ou
<nome><![CDATA[Valor < 5.]]></nome>
ou
<nomeisbase64='1'>VmFsb3IgPCAY</nome>

Inteiro

<nome>2007</nome>

Decimal

<nome>99,999</nome>

Hora

<nome>HH:mm:ss</nome>

Data e hora

<nome>dd/mm/yyyyHH:mm:ss</nome>

Texto (Blob)

<nome isbase64='1'>VmFsb3IgZG8gcGFy4m1ldH=</nome>

Tabela

<nome_tabela>
<line>
<nome_coluna1>Valor_coluna1_linha1</nome_coluna1>
<nome_coluna2>Valor_coluna2_linha1</nome_coluna2>
</line>
<line>
<nome_coluna1>Valor_coluna1_linha2</nome_coluna1>
<nome_coluna2>Valor_coluna2_linha2</nome_coluna2>
</line>
</nome_tabela>

Observação

Com exceção das tabelas, os parâmetros que não tiverem valor informado seguem o seguinte padrão: <nome_parametro isnull='1'/>. O mesmo vale para as colunas das tabelas.

Este artigo ajudou você?