Mudanças entre as edições de "Requisitos RFW.SEFAZ"

De Wiki do Leitão
Ir para: navegação, pesquisa
Linha 15: Linha 15:


Por isso é comum termos os nomes das classes precedidas com a letra "T" (embora não seja uma regra), já que a SEFAZ batiza o 'type' dentro do schema com o mesmo nome da tag precedida da letra 'T".}}
Por isso é comum termos os nomes das classes precedidas com a letra "T" (embora não seja uma regra), já que a SEFAZ batiza o 'type' dentro do schema com o mesmo nome da tag precedida da letra 'T".}}
Esses objetos de representação do XML são organizados dentro do package '''br.eng.rodrigogml.rfw.sefaz.xsdobjects''', com subpackages nomeados de acordo com o nome e versão do schema de solicitação:
* '''br.eng.rodrigogml.rfw.sefaz.xsdobjects.conscadv200.*''' - Objetos to serviço '''Web Service – NfeConsultaCadastro'''.
** '''Root Solicitação:''' TConsCad
** '''Root Resposta:''' TRetConsCad
* '''br.eng.rodrigogml.rfw.sefaz.xsdobjects.envinfev400.*''' - Objetos to serviço '''Web Service – NfeAutorizacao'''.
** '''Root Solicitação:''' TEnviNFe
** '''Root Resposta:''' TRetEnviNFe

Edição das 21h04min de 12 de fevereiro de 2025

Requisitos

Objetivo Principal

O objetivo deste módulo é permitir uma integração transparente com os serviços da SEFAZ (WebServices) de forma mais transparente possível e integrada ao framework RFW para facilitar sua utilização.


Para atingir este objetivo o módulo fornece objetos com a estrutura de dados defina nos Schemas dos XMLs da SEFAZ. Desta forma o desenvolvedor pode abstrair toda a preocupação escrita e tratamento do XML. O módulo recebe esses objetos e faz toda a conversão e comunicação com a SEFAZ internamente.

Objetos de Representação do XML

Os objetos que representam as tags do XML são criados com o JAXB a partir do Schema fornecido pela própria SEFAZ.


Note 64.png
Diferenças Entre os Nomes das Tags e Classes
Quando o JAXB gera os arquivos a partir do Schema ele utiliza os nomes dos "tipos" definidos pelo Schema para batizar o objeto ao invés do nome da Tag.

Por isso é comum termos os nomes das classes precedidas com a letra "T" (embora não seja uma regra), já que a SEFAZ batiza o 'type' dentro do schema com o mesmo nome da tag precedida da letra 'T".