JHierrot / openprodoc

OpenProdoc Document management System with Portable and J2EE versions
GNU Affero General Public License v3.0
41 stars 12 forks source link

problemas instalacion #10

Closed maxmetal1 closed 4 years ago

maxmetal1 commented 4 years ago

Hola, Estoy intalando la version web en un servidor wildfly y al momento de hacer un deployment del WAR, me aparece un error que dice: REASTEASY003940: Unable to instantiate MessageBodyReader, y otro mensaje que dice: Unable to find a public constructor for provider class org.glassfish.jersey.media.multipart.internal.MultiPartReaderServerSide"

Agradeceria mucho si me puede ayudar a solucionar este error. Saludos, Maximiliano

JHierrot commented 4 years ago

Hola, Lo analizaré. Claramente es debido a las clases Jersey usadas para los servicios REST. Algunos servidores J2EE, como Glassfish, dan algún problema al arrancar, aunque luego funcionan, posiblemente por colisión con sus propias clases. ¿Se despliega aunque presente un error o no llega a desplegarse? Si se despliega aunque presente el error y no pretendes utilzar el API REST, te sugeriría usarlo en cualquier caso. ¿Podrías indicar versión de Wildfly, de Java y de S.O. y darme más detalles de todo el compportamiento para analizarlo? Gracias. Saludos Joaquín

maxmetal1 commented 4 years ago

Hola,

Exactamente, ese es el error. Creo que es porque la versión del wildfly que uso ya arranca las clases REST directamente en el servidor. El error aparece cuando hago el deployment en la consola de wildfly, y no deja continuar. Estoy usando wildfly 19.0.0 y ubuntu 16.04.2 Ojala se pueda encontrar la solución al problema, porque me resultaría muy útil usar su aplicación.

Muchas gracias, Saludos,

JHierrot commented 4 years ago

Hola,

Intentaré reproducir ese entorno y reproducir el problema. Mientras tanto, puedes usar la versión portable, que incluye embebidos Jetty como servidor J2EE y la BBDD HSQLD (ambos productos son muy potentes y ocupan muy poco). Tiene toda la funcionalidad de una instalación "normal" y es util como entorno de desarrollo, que puede ser incluso local en tu máquina).

Saludos

JHierrot commented 4 years ago

Hola,

He comprobado que Wildfly usa su propia implementación de REST (RESTEasy) y no usa Jersey. https://stackoverrun.com/ru/q/12848059

No obstante, puede desactivarse RESTEasy en WildFly: https://github.com/javaee-samples/javaee7-samples/issues/93

Al añadir en OpenProdoc el API REST (que usa Jersey), ya no es posible utilizarlo directamente en WildFly. Eliminaré al compatibilidad con WildFly de la documentación (o al menos añadiré una nota indicando que debe desactivarse RESTEasy ).

Me esfuerzo mucho en que mis desarrollos, como Openprodoc, funcionen en todas las plataformas posibles: Linux, Windows, Mac, la mayoría de las versiones de Java, casi todas las BBDD del mercado, todos los navegadores (excepto el viejo IExplorer) y la mayoría de los servidores de aplicaciones.

Personalmente me gusta usar aplicaciones multiplataforma y portables, y estoy HARTO de que cada fabricante se invente su propio "estandar", especialmente cuando dejan de ser compatibles. No los utilizo y recomiendo NO UTILIZAR esos productos, ya que te quedas ligado a ellos de por vida, y si desaparecen o vuelven a cambiar, hay que rehacer los desarrollos o migrar los datos y documentos.

El término OPEN o FREE Software indica libertad de uso.

Saludos

Joaquín