Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
title

Para obtermos um recurso via SOAP, é necessário que exista um endpoint WSDL. Assim, para esse tutorial usaremos um serviço que retorna algumas informações de países e obteremos o DDI do país informado, Esse endpoint SOAP está disponível gratuitamente em http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Pré requisitos

  • Projeto do tipo mobile-web ou web criado. Caso haja dúvidas de como criar esse tipo de projeto acesse o link criar projeto.

Passos

Importar serviço SOAP

Clique

SOAP (Simple Object Access Protocol, hoje não é mais utilizado o acrônimo por não se tratar de um protocolo de acesso a objetos) baseia-se na invocação remota de um método de outro sistema, especificando o endereço do componente, o nome do método e os seus argumentos. Estes dados são formatados em XML com determinadas regras e enviados normalmente por HTTP (ou outros protocolos de comunicação) para o requisitante. Não define ou impõe qualquer semântica, quer seja o modelo de programação, quer seja a semântica específica da implementação. Este aspecto é extremamente importante, pois permite que possa haver comunicação entre cliente e servidor, mesmo que tenham sidos desenvolvidos em arquiteturas e/ou linguagens diferentes.

Este protocolo baseado em XML consiste de três partes: um envelope, que define o que está na mensagem e como processá-la, um cabeçalho com conjunto de regras codificadas para expressar instâncias do tipos de dados definidos na aplicação, e um body com convenções para representar chamadas de procedimentos e respostas. (Figura 1)

Image Removed
Figura 1 - Estrutura do SOAP

Passos

Com o projeto criado e aberto, clique com o botão direito sobre o nome do projeto e selecione a opção "Importar" no menu, na Janela Importar no menu. Ao abrir a janela de importação, selecione a opção SOAP e finalize . (Figura 21).


Image RemovedImage Added

Figura 2 1 - Importando um serviço web do tipo SOAP

1. Campos


Após clicar em finalizar, será aberta a janela de importação do SOAP

Nesse exemplo usaremos um serviço de consulta a informações de países, disponível gratuitamente no WSDL: http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Insira as informações na Janela Importar SOAP e clique em Importar. (Figura 3)

, insira a URL do webservice desejado e clique em importar (Figura 1.2).


Image Added

Figura 1.2 - Dados da importação


  • Insira a url do SOAP

: Endereço do serviço soap, normalmente utilizado o WSDL
  • ou faça upload do XML: informe o endereço do serviço SOAP na caixa de texto ou utilize o botão Enviar arquivos para fazer upload do XML (exemplo de endereço SOAP).
    Obs.: Endereços SOAP sempre terminam com a notação ?WSDL.

    1. Enviar arquivos: abre a janela para a seleção do arquivo XML do SOAP.
    2. Limpar: remove o conteúdo do campo.
  • Insira o pacote de destino:
Nome
  • nome do pacote que será criado para armazenar os dados do serviço no projeto, caso deixe em branco, será utilizado o nome do pacote do serviço SOAP.
  • Gerar API para Blocos:
Gera automaticamente os blocos para o desenvolvimento RAD ou Low code na IDE
  • gera automaticamente uma categoria de blocos de programação, convertendo as funções em blocos. Esses blocos serão exibidos no Editor de blocos servidor.
  • Pacote de destino:
Diretório
  •  pasta onde
receberá
  • armazenará o pacote criado do
serviço web.

Image RemovedFigura 3 - Dados da importação.

 

Após carregar os dados da URL será exibido os pacotes Maven necessários, clique em Salvar
  • webservice.
  • Usuário autenticação - WSS: usuário de autenticação Web Security Service.
  • Senha autenticação - WSS: senha de autenticação Web Security Service.
  • Autenticação BASIC: essa opção deve ser selecionada sempre que for necessária a autenticação basic do serviço SOAP. Dessa forma, o usuário e a senha informados serão incluídos no header da requisição, no formato de codificação Base64, utilizando autenticação basic.


Nota

Caso o seu projeto esteja com o Modo Avançadohabilitado, após importar o webservice com sucesso, será exibido uma janela informando os pacotes Maven necessários que serão adicionados no arquivo POM, então clique em salvar para baixá-los.

(Figura 4)

Dica

Image RemovedFigura 4 - Lista de pacotes necessários para esse serviço web SOAP.

 

Após carregar os pacotes

e Recompilar

(o que pode levar um tempo) é necessário recompilar e reabrir o projeto, a IDE gera um arquivo Java com as chamadas para as funções. Esse arquivo é gerado automaticamente,

não sendo baixado junto com a importação do serviço, visto que o serviço web pode ter sido desenvolvido em qualquer

independente da arquitetura e/ou linguagem de programação

em que o webservice foi desenvolvido (Figura

5)

2).

Nota
titleImportante

É necessário habilitar o Modo Avançado para que seja possível visualizar o arquivo.


Image Added

Figura 2 Image RemovedFigura 5 - Arquivo gerado para com as chamada das funções .Java

2.

Utilizando o serviço importado

Ao abrir/criar um bloco de programação do lado servidor, uma nova categoria é inserida com as funções de blocos importadas do SOAP . (Figura 6, circulado em vermelho)Destaque 1 da Figura 3).

Informações
titleObservação

Os nomes O nome da categoria, métodos e parâmetros são os mesmos passados pelo serviço, por isso podem vir abreviados, sem espaços, acentos e cedilhaspouco legíveis. Nesse caso é possível utilizar , utilize a ferramenta Editor de Internacionalização (servidor) para alterar esses nomes e deixá-los mais legíveis.Na Figura 6, podemos ver que foi internacionalizados

Informações

Como o objetivo deste tutorial é apresentar apenas a conversão das funções do serviço SOAP em Blocos de programação, não iremos detalhar as configurações da função de bloco (Figura 3) e view (Figura 4) usados nesse exemplo. Caso tenha dúvidas, veja em Bloco de programação e Editor de views.


Na Figura 3, internacionalizamos o nome do método countryIntPhoneCode (

Informações gerais

DDI do País) e do seu parâmetro sCountryISOCodeVar (Sigla do

país

País) (destaque 2 da figura 3), mas não

do

fizemos no nome da categoria: CountryInfoService (destaque 1 da Figura 3).


Image Added

Image RemovedFigura 6 3 - Bloco Função que faz consulta do SOAP e alimenta os campos de uma página.

 

No exemplo, informamos a sigla do país no bloco "Informações gerais do País" (fullCountryInfo) da API e filtramos pelo nome da capital e o seu código DDI. (Figura 6)


Após a requisição do cliente consumidor, o provedor do serviço retornará sua resposta em formato XML, como podemos ver abaixo. Por esse motivo será necessário usar O retorno dessa função é o XML informado abaixo. Nesse exemplo pesquisamos pelo Brasil "BR", utilizamos o bloco "Obter campo do Objeto" , passando o XML obtido e informando o caminho do XML que possui a informação.

 

para percorrer o caminho até o countryIntPhoneCodeResult do objeto e obter o seu valor.


Bloco de código
languagexmlthemeEclipse
firstline1
titleRetorno do serviço
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <m:FullCountryInfoResponse xmlns:m="http://www.oorsprong.org/websamples.countryinfo">
      <m:FullCountryInfoResult>
        <m:sISOCode>BR</m:sISOCode>
        <m:sName>Brazil</m:sName>
        <m:sCapitalCity>Brasilia</m:sCapitalCity>
        <m:sPhoneCode>55</m:sPhoneCode>
        <m:sContinentCode>AM</m:sContinentCode>
        <m:sCurrencyISOCode>BRL</m:sCurrencyISOCode>
        <m:sCountryFlag>http://www.oorsprong.org/WebSamples.CountryInfo/Images/Brazil.jpg</m:sCountryFlag>
        <m:Languages>
          <m:tLanguage>
            <m:sISOCode>por</m:sISOCode>
            <m:sName>Portuguese</m:sName>
          </m:tLanguage>
        </m:Languages>
      </m:FullCountryInfoResult>
    </m:FullCountryInfoResponse>
  </soap:Body>
</soap:Envelope>
 


Na Figura 7 vemos o resultado da consulta e retorno das informações.4 vemos o exemplo de uma tela que retorna o DDI de um pais baseado no seu código ISO.

.

Image Added

Figura 4 Image RemovedFigura 7 - Resultado do exemplo 

 

 

Painel

Nesta página

Índice

 


Outras informações:

Web Services