Versões comparadas

Chave

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

Para obtermos um recurso via SOAP, é necessário que exista um endpoint WSDL. Assim, para esse tutorial usaremos um serviço de consulta a informações a países, disponível gratuitamente: 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 )
  • .

Passos

Importar serviço SOAP

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 1).


Image Modified

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

Importar serviço 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 2)


Após clicar em finalizar, será aberta a janela de importação do SOAP, insira a URL do webservice desejado e clique em importar (Figura 2).


Image Added

Figura 2 - Dados da importação


  1. Insira a url do SOAP: Endereço  endereço do serviço SOAP. Como exemplo, use esse endereço.
    Endereços SOAP sempre terminam com a extensão "?WSDL".

  2. 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 SOAP.
  3. Gerar API para Blocos: Gera  gera automaticamente os blocos para o desenvolvimento Low desenvolvimento low code na IDE.
  4. Pacote de destino: Diretório  pasta onde receberá armazenará o pacote criado do serviço web.

Image RemovedFigura 2 - Dados da importação

  1. webservice.


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 Após carregar os dados da URL será exibido os pacotes Maven necessários, clique em Salvar para baixá-los. (Figura 3).


Image Modified

Figura 3 - Lista de pacotes necessários para esse serviço web SOAP


Após carregar os pacotes e Recompilar recompilar o projeto, a IDE gera um arquivo Java com as chamadas para as funções. Esse arquivo é gerado automaticamente, visto que o serviço web pode ter sido desenvolvido em qualquer arquitetura independente da arquitetura e/ou linguagem de programação em que o webservice foi desenvolvido (Figura 4).


Image Modified

Figura 4 - Arquivo gerado para as chamada das funções

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. (destaque 1 da Figura 5)

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 de Internacionalização para alterar esses nomes e deixá-los mais legíveis.


Na Figura 5,

podemos ver que foi internacionalizados

internacionalizamos o nome do

método

método countryIntPhoneCode (

Informações gerais

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

país

País), mas não

do

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


Image Modified

Figura 5 - 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 5)


O retorno dessa função é o XML informado abaixo. Nesse exemplo pesquisamos pelo Brasil "BR", utilizamos Após o 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 bloco "Obter campo do Objeto" , passando o XML obtido e informando o caminho do XML que possui a informaçãopara percorrer o caminho até o countryIntPhoneCodeResult do objeto e obter o seu valor.


Bloco de código
theme
languagexml
Eclipsefirstline1
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 6 vemos o exemplo de uma tela que retorna o DDI de um pais baseado no seu código ISO.

o resultado da consulta.

Image Modified

Figura 6 - Resultado do exemplo 


Nessa página

Índice


Outras informações:

Web Services