Login Registre-se
EFD - Reinf - Envio do Lote - Dúvida WebService Axis2 [RESOLVIDO]  XML
Índice dos Fóruns » SPED / PAF-ECF / ESOCIAL / EFD_REINF
Autor Mensagem
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Boa tarde comunidade.
Estou com uma dúvida na codificação de envio de eventos do WebService EFD - Reinf.
Eu utilizei como base o código do "Exemplo java envio do Lote (Carta de Correção Eletrônica)" para implementar o consumo do webservice.
Abaixo o trecho do código de exemplo que instancia um stub e obtem uma resposta NFeRecepcaoEventoresult da CC-e.



A partir do código acima eu criei a classe ReinfRecepcaoEvento e substituí o stub RecepcaoEventoSub pelo que gerei pelo axis2 RecepcaoEventoReinfStub (através da url https://preproddefreinf.receita.fazenda.gov.br/WsREINF/RecepcaoLoteReinf.svc)
A dúvida é como carregar a instancia de result? Pois o wsdl do reinf não possui dadosMsg nem nfeCabecMsg, então o stub do Reinf também não tem.
Abaixo segue o código com os modelos que tentei de acordo com o stub novo gerado.



Esta mensagem foi editada 1 vez. Última atualização foi em 28/05/2018 13:26:54


Rafael V. Suarez
Programador Junior
[Email] [MSN]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1108
Localização: Goiás
Offline


Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Primeiramente obrigado pela ajuda.
O código compilou.

Porém a lib axi está jogando uma exception ao executar




EU chequei o classpath e o jar da axiom-impl-1.2.20jar está lá.
O axiom.xml está no meta-inf do jar gerado.
Não sei se pode ser o property do trustStore que removi do código original.


Rafael V. Suarez
Programador Junior
[Email] [MSN]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1108
Localização: Goiás
Offline

Os 3 Axiom?

Tem que ter :
- Api
- Dom
- Impl

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Sim os três.
Tudo da última versão.
1.2.20

Rafael V. Suarez
Programador Junior
[Email] [MSN]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1108
Localização: Goiás
Offline

Hm, Eu devo assumir que vc gerou um Jar, e nele vc extraiu as dependências!

Isso não vai funcionar!
O Axiom tem esse problema ai, quando vc extrai a dependencia dele, ele nao ira funcionar.
Se tiver tempo, pesquise em site gringos como resolver o problema! è chato, mas da pra fazer.

Se não tiver, mantenha as Libs externas, e tudo vai rodar de boa!

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Isso. Eu exportei o jar e as dependências dentro dele.
Vou exportar para uma subpasta externa.

Rafael V. Suarez
Programador Junior
[Email] [MSN]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Eu exportei os jars e executou sem a exception.
Agora deu exception do pkix que é em relação a a cadeia de certificados que não setei para o truststore. Mas tenho que gerar a cadeia de certificado.
Assim que baixar o arquivo cacerts e testar eu marco como resolvido o tópico e monto um pequeno tutorial na última postagem com o código fonte, pois foram vários desafios.
Atualmente eu não uso o maven pois desenvolvo sem Internet. Então tenho que baixar as libs e alguns exemplos e testar. Pra tu ter idéia, eu compilo o app, exporto o jar, e copio pra um servidor que tem Internet, por ssh eu consigo executar o jar e testar o transmissor.

Rafael V. Suarez
Programador Junior
[Email] [MSN]
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1108
Localização: Goiás
Offline

KKKKKKK Que luta eim...

Cacert aqui -> http://www.javac.com.br/jc/posts/list/2736-arquivo-cacert-todos-os-estados-nfe-nfce-mde-cte-esocial-e-efdreinf-atualizado-22042018.page
Sempre atualizado!

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

OK. Resolvido.
Testei a comunicação e consegui consumir o serviço.
Seguindo as dicas samuk consegui:
1. Gerar os stubs;
2. Instanciar os stubs adequadamente com o código que passou;
3. Criar o cacert que é a parte truststore da conexão SSL;
4. Criar o código para consumir o serviço usando Axis2. Isso inclui setar a propriedade trustStore com a cadeia de certificado.
5. Exportar o .jar do projeto, porém escolhendo a opção para exportar as dependências do projeto em um subpasta. Pois se gerar o jar internamento o axis2 não funciona.
Assim que conseguir enviar o evento R-1000 vou montar o tutorial.

Rafael V. Suarez
Programador Junior
[Email] [MSN]
rafaelv_s

JavaC Membro
[Avatar]

Membro desde: 20/05/2018 14:37:53
Mensagens: 7
Localização: Santa Cruz do Sul, RS
Offline

Boa tarde.

Vou tentar explicar a ordem que utilizei para desenvolver a transmissão do evento R-1000 do EFD-Reinf

. Leitura de todo conteúdo de http://sped.rfb.gov.br/projeto/show/1196
O que é Reinf, Downloads, Legislação, Perguntas Frequentes
. Download
. Leiautes (Leiautes da EFD-reinf v.1.3.02)
. Esquemas XSD( XSD Comunicação EFD-reinf v1.3.02.xsd e Pacote XSD Eventos EFD-REINF v.1.3.02 e wsdl)
. Manual de Orientação (MOR)
. Mensagens do Sistema(Mensagens do Sistema versão 1_0 - marco-201
. Leitura do Manual - MOR EFD-REINF Escrituração Fiscal Digital de Retenções e Outras informações Fiscais (Para entender as regras de negócio envolvidas e as implicações legais).
. Leitura do ManualOrientacaoDesenvolvedor-REINF v1.3.02
. Leitura Leiautes (Leiautes da EFD-Reinf v1.3.02)
. Criação do projeto java WebServiceClient. Nesta etapa, só criei o projeto e segui na pesquisa de um exemplo de consumo de webservice da CT-e no fórum javac e um consumo de efd reinf mesmo para poder escolher a tecnologia adequada de consumo do webservice.
. Neste ponto eu precisei compreender a arquitetura necessária para o consumo de webservice. Isto envolveu uma pesquisa dos seguintes pontos:
. Como criar arquivo xml;
. Como assinar arquivo xml;
. Como acessar os servidores do Sped;
. O que é Keystore e TrustStore
. Como gerar KeyStore e trustStore
. Como obter a cadeia de certificados (trustStore) dos servidores do sped EFD reinf.
. Como conectar de forma autenticada no webservice
. Resetar as propriedades da conexão
. Configurar o KeyStore apontando para o certificado do cliente
. Configurar o TrustStore apontando para o certificado do cliente
. Criar uma mensagem SOAP, que será enviar para o webservice através da implementação do Stub(Explicação abaixo)
. Instanciar uma conexão SOAP implementado também pelo Stub
. Enviara a mensagem e obter o retorno
. Após compreender este fluxo, eu encontrei aqui no fórum o consumo do webservice utilizando SopaConnectionFactory e Axis2, ambos funcionaram, porém a api axis2 e robusta e bem menos verbosa. E um colega de tópico mencionou que o axis2 é a ferramenta certa a se utilizar. Mesmo assim, fiz as duas versões(axis2 e SoapConnectionFactory).
. Pesquisei mais no fórum, e descobri que para utilizar o axis2, teria que gerar os tais Stubs do serviço (classe java com a implementação via axis2).
. Download do binary do axis2 no site oficial.
. Download da lib com.sum.net.ssl.jar
. No fórum também encontrei como gerar os stubs utilizando o wsdl2java.bat . Esse bar que faz parte do axis2.


. Criação de um novo projeto java StubsReinf com estas duas classes;
. Gerei um jar desse projeto.
. Novamente no projeto WebServiceClient, adicionei as libs axis2 e StubsReinf ao classpath do projeto.
. Criação da classe ReinfRecepcaoEvento.java
. O roteiro da criação que pesquisei no google de um webservice:
. Limpando as propriedades

. Configurar o procveddor ssl

. Configurar o KeyStore
. A seguir especificar o tipo do KeyStore, a localização e a senha.


Qualquer dúvida ou melhoria fique a vontade para sugerir.

Rafael V. Suarez
Programador Junior
[Email] [MSN]
 
Índice dos Fóruns » SPED / PAF-ECF / ESOCIAL / EFD_REINF
Ir para:   
Powered by JForum 2.1.9 © JForum Team