Criando Stubs do Axis2 para WS da SEFAZ

De Wiki do Leitão
Revisão de 19h34min de 9 de fevereiro de 2025 por Rodrigogml (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Esta página foi criada para registrar como o Axis2 foi utilizado neste módulo, suas dificuldades e peculiaridades para integrar o projeto.

A versão utilizada foi a v1.8.2. Tanto para gerar as classes dos Stubs quando nas dependências do projeto.


Note 64.png
Função do Axis
O Axis gerará as classes chamadas 'Stub' que gerencia a conexão do webservice através do XML, ela recebe um XML com o conteúdo para enviar ao servidor, e retorna o XML com a mensagem recebida. Tudo isso de acordo com as instruções definidas no WSDL do WebService.

O Axis não gera os objetos que refletem a estrutura do XML da mensagem. Para isso utilizamos o plugin JAXB que gera esses objetos a partir do Schema (.xsd) que definem essas mensagens. Veja mais em XSD To Java Object (JAXB Plugin).


Gerando os Stubs

A geração dos Stubs foi feita com os binários do Axis2, fora do Eclipse. Para isso foram realizados os seguintes passos:


Baixar o Axis2

Baixar o pacote Binário no site do Axis2: https://axis.apache.org/axis2/java/core/download.cgi

Se a versão 1.8.2 não for mais a versão corrente, procure a versão já testada e compatibilizada no projeto, caso não esteja procurando migrar a re-compatibilizar o projeto.

Baixe o pacote axis2-1.8.2-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:\axis2-1.8.2


Baixando o WSDL do WS da SEFAZ

Para baixar o WSDL da SEFAZ:


Axi2WSClient2.jpg


Note 64.png
Extenção WSDL
Por ser gerado pelo sistema o Browser pode sugerir, e até forçar, que o arquivo seja salvo com a extensão .asmx. Garanta que o arquivo seja salvo com a extensão .wsdl para que fique coerente.


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:

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

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

  • 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.
  • 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.
  • Arquivo build.xml - Arquivo do ANT para compilar o código. Não utilizado no projeto do BIS.