Login Registre-se
Mensagens enviadas por: tiagoberga
Índice dos Fóruns » Perfil de tiagoberga » Mensagens enviadas por tiagoberga
Autor Mensagem
Rafael, seu problema aparentemente é com o cacerts que não tem o endereço do serviço e-social vinculado à porta 443 tcp de https

adapte esta ideia com o endereco do servico rfequisitado: http://www.javac.com.br/jc/posts/list/34-nfe-geracao-do-arquivo-cacerts-para-todos-os-estados-unico-arquivo.page
A Sefaz prorrogando prazos? hahaha quase isso nao acontece (ironia)

Estranho mesmo demorarem tanto para postarem os endereços de produção de SP por exemplo, que é um dos se não o que mais tem requisições dos serviços.
Esta prorrogação vem a calhar, pois sobra mais tempo para preparar tudo para versão 4.00

Vlw pela info Samuk!
Aaaaa ta! desculpa erro meu, li XSD mas pensei no WSDLs hahaha mybad

realmente xsd de consulta cadastro v2.00 como voce disse

Parabens Sefaz
Samuk, tudo joia?

Utilizei este: NfeConsultaCadastro v4.00 e deu tudo certo
Infelizmente tem acontecido em clientes da empresa em qual trabalho, justamente com serviço para manifestação de documentos... após tentar manifestar novamente ocorre duplicidade (problemão isso)
porém a culpa é do Sefaz... e digo mais, o serviço NFeDistribuicaoDFe está com problema na sua numeração de NSU, realizamos os manifestos normalemente, porém é de responsabilidade dele setar os
NSU nos documentos que são disponíveis aos envolvidos, porém ele(Sefaz) esta claramente se perdendo na sequencia de números, pulando ranges enormes de números, e como nós temos a
responsabilidade de armazenar qual o ultimo ultimo disponível e o Máximo NSU e sabendo que o lote max de busca é de 50 docs, está dando um xabu do caramba... do nada o Sefaz esta pulando cerca de 150 a 200
números do MaxNSU, mesmo consultado um deles deste intervalo ele diz que não há documentos... após um tempo se pesquisar novamente o documento aparece para o 'x' NSU. O que eu penso que estão
fazendo: Estão atualizando a sequencia do MaxNSU e soltando ao consumo do servico, porém os documentos processados estão demorando para serem processados, e ferrando a sequencia de NSU interna dos sistemas.
Em conversa com nosso moderador e parceiro Samuel Oliveira conseguimos resolver uma situação onde outros que fazem uso dos
recursos da NF-e deste fórum com a biblioteca Axis para realizar a conversão dos arquivos.wsdl para classes.java possam enfrentar.


INICIANDO A DÚVIDA

Através do Tópico do Samuel que diz respeito sobre a migração da
NF-e da versão 3.10 para 4.00, em especial acentuo quando fala sobre o uso do Axis na versão 1.7.5, onde disponibilizou o seu jar nfe-xsd-9-v1.2.jar que ja
contem os wsdls convertidos. Em sua grande maioria, o fórum ainda trabalha com a versão 1.5.3 inicialmente disponibilizado em rotinas pelo Administrador Maciel, posteriormente
fiz uso na versão 1.6.2 onde até ensinei como gera-los de forma manual através deste link http://www.javac.com.br/jc/posts/list/1967.page até aqui beleza, "dominamos"
o assunto quando falamos do uso do Axis no projeto, suas dependecias e etc... mas a dúvida era: Como gerar os stubs com o axis mais recentes 1.7.5+ ?

Com os arquivos.wsdl da versão 4.00 da NF-e, o que eu ja tentei:

- De forma manual com a versão 1.7.5 converter com wsdl2java, porém só consegui utilizando parametro databinding(-d xmlbeans), porém o correto deveria ser databinding(-d adb)
- De forma manual com a versão 1.7.6 converter com wsdl2java, porém só consegui utilizando parametro databinding(-d xmlbeans), porém o correto deveria ser databinding(-d adb)

Consigui converter utilizando xmlbeans como disse, porém minha implementação em código não batia com o que eu esperava devido a forma que as classes eram geradas.
Não conseguia converter utilizando ADB, enfrentava a excessão: org.apache.axis2.schema.SchemaCompilationException: XSD complexType with mix content not supported in ADB
que confirmava o que eu esperava do uso entre xmlbeans e adb.

- Joia vamos tentar de outra forma, recorri ao uso do eclipse Neon v4.6.0 - que por padrão conta com Axis 1.4.

Fiz uso das biblioteca que contem os jars do axis 1.7.6 para Eclipse: Service Archive e Code Generator (ambos plugins para eclipse)

Link que Apache ensina utilizar o axis2 no eclipse
https://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html

Link que Apache disponibiliza os plugins para eclipse
https://axis.apache.org/axis2/java/core/download.html

Por não estarem nos plugings "válidos" do eclipse o Axis2, então precisamos adicionar 'manualmente', realizando o unzip dentro da pasta dropins que estão localizada dentro
da pasta do eclipse, beleza de boa, só abrir o eclipse novamente ja estara disponível para uso Ctrl+N > Axis2 Wizards. Pois bem, pensei: Com eclipse é sem erro! Agora vai ... mal sabia...
me deparo com a excessão: java.lang.reflect.InvocationTargetException hahahah e também não funcionou com a versão 1.7.5, mesma excessão... pois bem acredito não ser problema
com o Axis desta vez, porém pesquisei muito, muito mesmo a não encontrei solução para este problema

Criei um projeto besta web, importei um wsdl para ele e seguindo o padrão Botão Direito(no wsdl) > Web Services > Generate Client, deixando o Axis1 habilitado, consigo gerar.. pórém por
ser uma versão muito antiga, o ADB deve estar com código antigo, e a sua implementação também é desatualizada... ou seja, das formas que eu conheço nenhuma consegui converter da forma
correta com o ADB em nenhuma das versões testadas....


RESPOSTA DE SAMUEL

Então, eu normalmente faço de duas Maneiras:

1º Eu tenho um Projeto pronto, que utiliza um Plugin do Maven: axis2-wsdl2code-maven-plugin
2º Gero Atraves da IDE IntelliJ

Nessa duas maneiras funcionou com sucesso na versão 1.7.5


POIS BEM.. MÃO NA MASSA ENTENDER COMO FUNCIONA O PLUGIN DO AXIS COM MAVEN....

Para rodar o plugin, obviamente o projeto precisa ser maven, e algumas propriedades no arquivo pom.xml precisam ser adicionadas:



O conteúdo acima, foi a primeira vista da configuração do arquivo que eu tinve, então Samuel deu mais um auxílio apontando como
pode ser a configuração com os arquivos e chegamos ao seguinte para conversão de cada arquivo:



Porém algo ainda estava errado, e ainda havia dúvidas... Mesmo utilzando o plugin wsdl2code, o problema ainda persistia...
org.apache.axis2.schema.SchemaCompilationException: XSD complexType with mix content not supported in ADB

...então caçando mais conteúdo na internet, descobri que o Axis2 não compreende a tag <s:complexType mixed="true">
presente dentro do arquivo wsdl. Solução:

- Primeiro foi alterar o conteúdo para <s:complexType mixed="false">, estas tags estão presentes nos elementos nfeDadosMsg e nfeResultMsg.
Posteriormente isso, a conversão com ADB databinding passou a funcionar pois é o que ele compreende.... porém devido o atributo mixed ter passado para falso,
estes arquivos: NfeDadosMsg.java e NfeResultMsg.java não estavam sendo gerados. "...mais um problema pensei".... então consegui solucionar para duas situações:

1º - Utilizando a conversão direta com wsdl2Java encontrada na bin do Axis
Utiliza-se wsdl2java.bat -uri arquivo.wsdl -o arquivosaida -d adb

2º - Utilizando o plugin axis2-wsdl2code:wsdl2code e a conversão com wsdl2Code configurado no pom.xml
Exemplo do serviço cadconsultacadastro4




Observem:
<id>CadConsultaCadastro4</id>.... com esta propriedade, voce consegue adicionar varios servicos, sendo cada um uma <execution> e executa-los ao mesmo tempo


Situações diferentes podem ocorrer dependendo da versão do Axis utilizada pelo que entendi, pois fui bem a fundo com o assunto como puderam perceber... então espero que
este conteúdo auxilie para solução caso situação parecida aconteça com algum membro ou visitante.

Abaixo links do conteúdo buscado

WSDL2Java Eclipse Plugin
WSDL2Java Guide
Maven2 WSDL2Code Plug-in Guide
Maven2 WSDL2Code Plug-in Documentation
Index of Axis2



Abraços! o/
ola gustavo, de uma olhada nestes link http://www.javac.com.br/jc/posts/list/997-projeto-nfe-cte-cce-comece-por-aqui.page

Ele contem um grande conteudo que pode ajuda-lo, assim como assinatura de A3

Abraços
Olá, seguindo a lógica da NF-e na versão 4.00:



lembrando que:

Pagamento, PagamentoDetalhe e PagamentoDetalheGrupoCartoes são classes criadas por mim servindo como "model" para popular os schemas de NF-e.
Fala pessoal!

Saiu novo layout com informações da NF-e, layout NT_2016_002_v1.10

link: https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=bwv07Maqb9U=

ou arquivo
Fala pessoal! Novo schema para download v.4.00 - 2017

https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=/fwLvLUSmU8=

abraços!
GGarcia, louco não.. é uma opção diferente de criar os objetos nfe.. eu ja trabalhei dessa forma e acho interessante, mas por conhecer as duas sei que ha vantagens em uma que não ha na outra e vice-versa,
o que me fez optar por trabalhar com schemas prontos ja do sefaz, precisando apenas baixar quando surge atualização... voce trabalha com o jaxb ou o xstream?
Olá samuk, legal a possibilidade de modificar o ObjectFactory, de qualquer modo torna-se funcional criar um novo método la que se adapte à necessidade quando ela não existe,
um exemplo disso é o serviço para consultar NF-e NfeConsultaProtocolo, atualmente pelo método nfeConsultaNF2... o resultado disso é um retorno do pacote retConsSitNFe_v310.TRetConsSitNFe,
dentro do mesmo pacote voce conta com o ObjectFactory que por sua vez disponibiliza somente uma fabrica, que é do objeto TRetConsSitNFe anteriormente citado, ai entramos na possibilidade
da alteração deste ObjectFactory, "mas por que alterá-lo?" pois dentro do retorno obtido do objeto retConsSitNFe_v310.TRetConsSitNFe é possível obter uma lista de Eventos Processados: retConsSitNFe.getProcEventoNFe()
isso é muito util, afinal se um fornecedor não te enviar um evento processado de cancelamento por exemplo você pode saber por ai qual a situação de determinada NF-e, porééééééém para realizar a conversão
deste objeto para xml preciso utilizar o unmarshall do jaxb para tal, como esta classe TProcEvento do pacote retConsSitNFe_v310 não é @XmlRootElement não é possível realizar conversão direta com jaxb, torna-se
necessário criar antes o objeto, e seria ai que entra a modificação no ObjectFactory para utilização :



Com essa premissa daria continuidade em transformar o objeto em xml para salvar na base, e atribuir como um xml de distribuição, nfeProc e procEvento.. certcho?

Pois bem, ai confirma o que eu disse anteriormente: "Essa é uma solução porém não é correta uma vez que o Sefaz não da o retorno na forma que deveria ser rsrs"
alexandrade20, aproximadamente 180 dias
samuk.exe@hotmail.com tudo joia?

O que voce diz sobre realizar o marshal na mão também conheco esta possibilidade, seria criar um novo método dentro do ObjectFactory do pacote com a nova necessidade de objeto?
Essa é uma solução porém não é correta uma vez que o Sefaz não da o retorno na forma que deveria ser rsrs

O que ficou como solução "por hora" foi a possibilidade do usuário entrar com o xml processado de evento, assim identificando pela chave e vinculando dentro do sistema, assim disponibilizado
como um xml de distribuição e etc etc que ja sabemos...

caso tenha algum complemento, estou a ouvidos

o/
mesmo problema enfrentado aqui: http://www.javac.com.br/jc/posts/list/2435-obter-xmls-de-retorno-de-evento-na-consulta-de-situacao-de-nfe.page

porém infelizmente até agora sem solução..
 
Índice dos Fóruns » Perfil de tiagoberga » Mensagens enviadas por tiagoberga
Ir para:   
Powered by JForum 2.1.9 © JForum Team