nfe icon indicating copy to clipboard operation
nfe copied to clipboard

Atualizacão axis2 de 1.7.9 para 1.82

Open rafaelstelles opened this issue 1 year ago • 12 comments

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

rafaelstelles avatar Sep 09 '23 21:09 rafaelstelles

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?

fincatto avatar Sep 10 '23 01:09 fincatto

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 avatar Sep 10 '23 10:09 rafaelstelles

@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.

Samuel-Oliveira avatar Sep 11 '23 03:09 Samuel-Oliveira

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.

fincatto avatar Sep 11 '23 15:09 fincatto

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.

aguinaldofryder avatar Sep 11 '23 15:09 aguinaldofryder

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

Samuel-Oliveira avatar Sep 11 '23 15:09 Samuel-Oliveira

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 avatar Sep 16 '23 16:09 alecindro

@alecindro você fez a migração dessa lib para a versão 1.8.2 ?

rafaelstelles avatar Sep 16 '23 19:09 rafaelstelles

@alecindro você fez a migração dessa lib para a versão 1.8.2 ?

Não. A Axis mantive em 1.7.9

alecindro avatar Sep 17 '23 13:09 alecindro

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.

rafaelstelles avatar Sep 20 '23 00:09 rafaelstelles

Oi Rafael, boa tarde. Conseguiu seguir com essa atualização? Mantenho aberto aqui ainda?

fincatto avatar Mar 11 '24 20:03 fincatto

Não, eu não consegui baixar os wsdl. Pode fechar, caso apareça alguém interessado no futuro, podemos reabrir.

rafaelstelles avatar Mar 11 '24 20:03 rafaelstelles