Tecnologia > Ferramentas de Apoio > Editor de web services > Parâmetros

Parâmetros

Nesta tela são definidos os parâmetros que serão executados pelas portas do serviço.

Tipo de dado
Selecionar o tipo de dado do parâmetro. Os tipos são: Alfanumérico, Inteiro, Decimal, Hora, Data e hora, Texto e Tabela.

Nota

Ao utilizar o parâmetro Data e Hora, informe o tipo Data. Para o parâmetro Texto, utilize somente os valores do tipo Blob, por exemplo, um arquivo. Caso seja necessário passar um texto, utilize o tipo Alfanumérico.

Tipo de parâmetro
Selecionar se o tipo de parâmetro é de entrada ou de saída. A aplicação não aceita retorno (referente ao parâmetro de saída) em tipo binário/compactado.

Nome
Informar o nome que será usado para o parâmetro.

Observação

Por padrão, o sistema trata os nomes dos parâmetros do seguinte modo ao convertê-lo para o WSDL:

Para confirmação das informações, consulte sempre o WSDL gerado antes de realizar a integração com algum web service customizado.

Nome externo
Campo habilitado ao ativar a configuração Permite usar nomes externos de portas ou parâmetro com hífen da tela de opções do editor de web services. Esse campo permite o cadastro de parâmetros que contenham hífen no seu nome, e permite a sua utilização em regras LSP.

Importante

Ao criar uma regra LSP que utiliza um web service que tem um parâmetro com hífen, deve ser utilizado o valor do campo Nome, ou seja, sem o hífen pois a LSP não aceita nesse formato.

Identificador universal
Usado para identificar o parâmetro na requisição do serviço. O valor deve ser obtido na WSDL do atributo targetNamespace do tipo, e deve ser informado quando o formato padrão do tipo for "qualified". Esta informação está disponível apenas para parâmetros de serviços de terceiros.

Lista ordenada
Campo disponível apenas para parâmetros do tipo Tabela em portas de serviços de terceiros, que indica se o parâmetro é uma lista ordenada. Quando esta opção estiver marcada, no momento de montar a chamada cada ítem da lista será colocado dentro de uma tag <item_da_lista>. Normalmente isso deve ser feito quando, na WSDL, o tipo do parâmetro está definido como "Array", ou também em alguns tipos complexos.

Item da lista
 Indica qual o nome de cada item da lista ordenada.

Ajuda
Descrever a utilização do parâmetro.

Colunas
Este ítem só estará visível caso o tipo de parâmetro seja Tabela. Parâmetros desse tipo podem representar, além de uma tabela, listas ordenadas ou até mesmo parâmetros de tipos complexos:

Dentro de parâmetros do tipo Tabela pode-se adicionar colunas do tipo Tabela também, para montar relacionamentos mestre/detalhe, sendo que uma tabela mestre pode ter vários detalhes (mestre -> detalhe1; mestre -> detalhe2; etc.) ou até 10 níveis de detalhe (mestre -> detalhe -> detalhe do detalhe -> etc.).

Para adicionar colunas à tabela deve-se clicar no botão Adicionar. Será aberto a tela para adicionar colunas. O cadastramento de colunas é basicamente o mesmo que o cadastramento de parâmetros, exceto que nas colunas não se informa o tipo de parâmetro, pois as colunas assumem o tipo do parâmetro ao qual elas pertencem.

Parâmetro Fault

Alguns provedores de web services terceiros retornam um elemento especial chamado "Fault" quando ocorre algum erro na execução do web service. Este elemento possui dois parâmetros básicos: o "faultcode", que retorna o código do erro, e o "faultstring", que retorna uma mensagem indicando o local ou a causa do erro.

Quando o retorno do web service retornar este elemento, é lançada uma mensagem de erro no sistema com o valor destes dois parâmetros.
Para que o sistema não gere esta mensagem parando a execução do processo (execução de uma regra LSP, por exemplo), é necessário cadastrar estes dois parâmetros na porta do web service:

Em algumas situações, o elemento "Fault" retorna outros parâmetros além destes dois, como por exemplo o parâmetro "detail", que pode ser do tipo tabela contendo colunas que retornam mais detalhes do erro ocorrido.

Importante 

Nas situações que forem cadastrados os parâmetros do elemento "Fault" é necessário que todos sejam cadastrados devidamente conforme especificações que podem ser obtidas em contato com o provedor do web service, pois se algum parâmetro não for cadastrado ou houver alguma inconsistência no tipo de seus dados, outras mensagens de erro ocorrerão informando que os parâmetros não foram cadastrados de forma correta.

Requisições Externas

O envelope XML da requisição deve conter o elemento parameters em seu conteúdo mesmo que o serviço publicado não tenha nenhum parâmetro de entrada. Nesse caso, o elemento pode ser declarado como elemento vazio <parameters/> conforme exemplo abaixo.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
	<soapenv:Header/>
	<soapenv:Body>
		<ser:listar_Dados>
			<user>?</user>
			<password>?</password>
			<encryption>?</encryption>
			<parameters/>
		</ser:listar_Dados>
	</soapenv:Body> 
	</soapenv:Envelope>

Observação

Se utilizado via Glassfish, campos opcionais de tipo tabela não devem ser enviados na requisição caso estejam vazios. Exemplo:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
<soapenv:Header/>
<soapenv:Body>
<ser:listar_Dados>
<user>?</user>
<password>?</password>
<encryption>?</encryption>
<parameters>
<!-- Campo "Codigo" obrigatório -->
<Codigo>1</Codigo>
<!-- Campo "Sequencia" de tipo tabela opcional e vazio, não enviar -->
<!-- <Sequencia><Sequencia></Sequencia></Sequencia> -->
</parameters>
</ser:listar_Dados>
</soapenv:Body>
</soapenv:Envelope>

Este artigo ajudou você?