nfe
nfe copied to clipboard
Atualizacão axis2 de 1.7.9 para 1.82
Eu criei uma branch aqui, e começei a fazer a migração e ir resolvendo os pontos de quebra. O repositório ainda não está compilando, e está faltando a parte de gerar as classes stub. Eu usei a doc que tem aqui e ajudou um pouco, só que gerou a exception abaixo.
Alguém chegou a ter esse problema ? Eu dei uma olhada na internet e não achei nada conclusivo. A minha idéia é que assim que der certo o processo de geração das classes para a versão nova, eu fazer uma pipeline para automatizar o processo e facilitar no futuro para todos.
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:163)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:54)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:116)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: XSD complexType with mix content not supported in ADB
at org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1162)
at org.apache.axis2.schema.SchemaCompiler.processAnonymousComplexSchemaType(SchemaCompiler.java:1049)
at org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:1001)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:605)
at org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:573)
at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:376)
at org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:248)
at org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:102)
... 8 more
Oi @rafaelstelles. Já que está sendo feito esse esforço para migração, não seria o caso de removermos o Axis todo do sistema e fazer as chamadas com posts diretamente com as libs padrão do Java? Eu fiz isso em libs menores que dou manutenção também (como serviços dos Correios, que ainda usam webservices também) e o resultado foi excelente. O que acha?
Quando você fala lib padrões do Java, você tá se referindo a usar Java puro ou alguma lib ? Um dos meus receios é a parte dos certificados que é preciso trabalhar para fazer a request.
Um ponto que eu pensei que ajudaria de forma geral no projeto, seria remover o suporte a versão 3.10 do projeto. Você sabe se tem pessoas que utiliza ? Ou poderia iniciar uma outra versão, removendo essa versão e começamos a implementar as atualizações a partir dela. O que acha ?
@rafaelstelles sobre seu erro é remover dos WSDL "mixed=true" ou colocar false.
@fincatto Eu ensaiei aqui varias vezes trocar o Axis, inclusive ttenho um projeto que roda com o Spring WS. Mas realmente acho q a migracao para Rest está proxima.
Com o NFSe Nacional e o Reinf ja rodando em REST. Acredito que a versao 5 já vira nesse contexto.
Oi @Samuel-Oliveira. Seria ótimo! Sobre o NFSe Nacional, que você mencionou, já está rolando? Preciso emitir NFSe agora em varias prefeituras e seria ótimo se tivesse um ponto central para fazer isso.
Oi @Samuel-Oliveira. Seria ótimo! Sobre o NFSe Nacional, que você mencionou, já está rolando? Preciso emitir NFSe agora em varias prefeituras e seria ótimo se tivesse um ponto central para fazer isso.
Em breve vamos precisar emitir nfse também. Qualquer implementação podem contar conosco.
Sim @fincatto meio capenga, as vezes Offline mas já esta em producao. Todos os MEI já conseguem emitir por ela usando certificado. Swagger: https://www.producaorestrita.nfse.gov.br/swagger/contribuintesissqn/
Para quem não é MEi depende da prefeitura integrar, segue a relacao de quem ja integrou ou esta em processo de integracao: https://www.gov.br/nfse/pt-br/municipios-aderentes/municipios-aderentes
com a atualização encontrei alguns conflitos de biblioteca e resolvi da seguinte maneira:
> <dependency>
> <groupId>org.apache.axis2</groupId>
> <artifactId>axis2-kernel</artifactId>
> <version>${axis2.version}</version>
> <scope>compile</scope>
> <exclusions>
> <exclusion>
> <groupId>javax.servlet</groupId>
> <artifactId>servlet-api</artifactId>
> </exclusion>
> <exclusion>
> <groupId>org.apache.geronimo.specs</groupId>
> <artifactId>geronimo-stax-api_1.0_spec</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>${simple-xml.version}</version>
<exclusions>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
@alecindro você fez a migração dessa lib para a versão 1.8.2 ?
@alecindro você fez a migração dessa lib para a versão 1.8.2 ?
Não. A Axis mantive em 1.7.9
Alguém conhece algum lugar onde eu possa baixar todos os wsdl que é utilizado pelo projeto ? Eu consegui fazer a geração das classes para a versão 4, porém agora está quebrando os demais.
Oi Rafael, boa tarde. Conseguiu seguir com essa atualização? Mantenho aberto aqui ainda?
Não, eu não consegui baixar os wsdl. Pode fechar, caso apareça alguém interessado no futuro, podemos reabrir.