Axis2 WebService Client

De BIS Wiki
Ir para navegação Ir para pesquisar

Este documento relata a maneira mais fácil de construir um webservice client utilizando o Axis2 para gerar as classes de acesso a partir do WSDL.

Utilizaremos o Axis2 v1.7.9, mesma atualmente sendo utilizada como dependência nos módulos do BIS10 e BISFW.


Baixando o Axis2

Para gerar as classes precisamos dos binários do Axis2, que podem ser baixados no site: https://axis.apache.org/axis2/java/core/download.cgi.

Por já ser uma versão legada (já temos a 1.8), a versão 1.7.9 pode ser encontrada no archive do Axis2: http://archive.apache.org/dist/axis/axis2/java/core/1.7.9/

Baixe o pacote axis2-1.7.9-bin.zip e descompacte em alguma pasta de sua preferência.

Para funcionar o Axis2 precisará de duas variáveis de ambiente definidas conforme exemplificado nos comandos a seguir:

set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_301
set AXIS2_HOME=c:\x\libs\axis2-1.7.9


Gerando os Stubs a Partir do WSDL

O Axis gera classes para acessar o WebServices a partir do arquivo WSDL de descrição do WebService. Para isso siga os seguintes passos:

  1. Crie uma pasta temporária onde os fontes serão gerados;
  2. Dentro desta pasta criada execute o comando
%AXIS2_HOME%\bin\wsdl2Java -uri <arquivo.wsdl> -d xmlbeans -s

O comando gerará na pasta os seguintes conteúdos:

  1. Pasta src - Pasta com os arquivos fontes que permitem o acesso ao WebService. Dentro desta pasta, em um package que dependerá das definições do WSDL, será criado uma classe com o sufixo Stub para cada serviço exposto no WebService.
  2. Pasta resources - Esta pasta contém arquivos necessários para o funcionamento dos Stubs criados, e precisam acompanhar o package final. O conteúdo de dentro desta pasta deve ser incluído na raiz do package.
  3. Arquivo build.xml - Arquivo do ANT para compilar o código. Não utilizado no projeto do BIS.

Baixando o WSDL do WS da SEFAZ

Para baixar o WSDL da SEFAZ:

  1. entre no endereço do serviço desejado da SEFAZ; Ex: https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro4.asmx
  2. identifique com algum certificado digital válido para ter acesso ao site;
  3. clique no link Service Description e salve o conteúdo com a extensão .wsdl, mesmo que o browser sugira alguma outra.