- Criado por Igor Andrade, última alteração em 13/02/2019
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 11 Próxima »
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, selecione a opção SOAP e finalize. (Figura 1)
Figura 1 - Importando um serviço web do tipo SOAP
Importando 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)
Insira a url do SOAP: Endereço do serviço SOAP. Normalmente não possuem no final do endereço o "?WSDL", nesse caso é necessário inserí-lo manualmente.
- Insira o pacote de destino: Nome do pacote que será criado para armazenar os dados do serviço no projeto.
- Gerar API para Blocos: Gera automaticamente os blocos para o desenvolvimento RAD ou Low code na IDE.
- Pacote de destino: Diretório onde receberá o pacote criado do serviço web.
Figura 2 - Dados da importação.
Após carregar os dados da URL será exibido os pacotes Maven necessários, clique em Salvar para baixá-los. (Figura 3)
Figura 3 - Lista de pacotes necessários para esse serviço web SOAP.
Após carregar os pacotes e 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 e/ou linguagem de programação. (Figura 4)
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 importadas do SOAP. (Figura 5)
Observação
Os nomes 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 cedilhas. Nesse caso é possível utilizar a ferramenta Editor de Internacionalização para alterar esses nomes e deixá-los mais legíveis.
Na Figura 5, podemos ver que foi internacionalizados o nome do método (Informações gerais do País) e do seu parâmetro (Sigla do país), mas não do nome da categoria: CountryInfoService.
Figura 5 - Bloco 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 o bloco "Obter campo do Objeto", passando o XML obtido e informando o caminho do XML que possui a informação.
<?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 resultado da consulta.
Figura 6 - Resultado do exemplo
- Sem rótulos