Mudanças entre as edições de "Criando Stubs do Axis2 para WS da SEFAZ"

De Wiki do Leitão
Ir para: navegação, pesquisa
m (Rodrigogml moveu Acesso ao WS SEFAZ com Axis2 para Criando Stubs do Axis2 para WS da SEFAZ sem deixar um redirecionamento)
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 2: Linha 2:


A versão utilizada foi a v1.8.2. Tanto para gerar as classes dos Stubs quando nas dependências do projeto.
A versão utilizada foi a v1.8.2. Tanto para gerar as classes dos Stubs quando nas dependências do projeto.
{{nota|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 =  
= Gerando os Stubs =  
Linha 45: Linha 51:
* Dentro desta pasta criada execute o comando
* Dentro desta pasta criada execute o comando
<pre>
<pre>
%AXIS2_HOME%\bin\wsdl2Java -uri <arquivo.wsdl> -d xmlbeans -s
%AXIS2_HOME%\bin\wsdl2Java -d xmlbeans -s -uri <arquivo.wsdl>
</pre>
</pre>



Edição atual tal como às 19h34min de 9 de fevereiro de 2025

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.