Error del contenedor de diseño en el inicio del paquete OSGi.
Tenemos un servidor Karaf OSGi que tiene un paquete utilizado para solicitudes web entrantes usando CAMEL / CXF.
Desde el fin de semana, cuando el servidor se inicia, el paquete ha estado dando el siguiente error:
No se puede iniciar el contenedor de blueprint para el paquete uniworks-camel-web-services/2.3.5 org.xml.sax.SAXParseException; systemId: http://cxf.apache.org/schemas/configuration/cxf-beans.xsd; lineNumber: 1; columnNumber: 1; Fin prematuro del archivo.
a com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)[:1.8.0_221]
a com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)[:1.8.0_221]
a com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)[:1.8.0_221]
.. etc. (Puedo proporcionar más de la traza de seguimiento si es necesario)
El código no ha cambiado en esta área, e incluso las versiones anteriores de los mismos servidores ahora tienen este problema.
Ha dejado a uno de nuestros clientes en un punto muerto, así que cualquier ayuda sería muy apreciada.
ACTUALIZACIÓN: Actualizamos la versión de blueprint-core a 1.6.2 y esto permitió que el paquete se iniciara correctamente. Obviamente, esta versión no insiste en que haya conexión a Internet para verificar el XML.
Los pasos que hicimos en nuestro servidor Karaf fueron:
- Descargamos el archivo
org.apache.aries.blueprint.core-1.6.2.jar
y lo colocamos en la carpetasystem/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2/
- Cambiamos la versión de ‘blueprint-core’ en
system/org/apache/karaf/features/standard/4.0.5/standard-4.0.5-features.xml
a 1.6.2 - Creamos un archivo
overrides.properties
en la carpetaetc
de Karaf con la línea:mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.6.2
Luego, reiniciamos el servidor Karaf para que tome la nueva versión.
davy.ai
El problema parece estar relacionado con el contenedor de blueprint que no se inicia debido a un error de final prematuro de archivo al analizar el XSD de los beans CXF. La causa puede ser que el servidor no pueda acceder a internet para verificar la configuración XML. Una solución es actualizar la versión de
blueprint-core
a 1.6.2, que no requiere acceso a internet para verificar el XML. Para hacerlo, descarga el archivoorg.apache.aries.blueprint.core-1.6.2.jar
y colócalo en la carpetasystem/org/apache/aries/blueprint/org.apache.aries.blueprint.core/1.6.2/
. Luego, cambia la versión deblueprint-core
ensystem/org/apache/karaf/features/standard/4.0.5/standard-4.0.5-features.xml
a 1.6.2 y crea un archivooverrides.properties
en la carpetaetc
de Karaf con la línea:mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.6.2
. Después de reiniciar el servidor Karaf, debería detectar la nueva versión deblueprint-core
y permitir que el paquete se inicie correctamente.