osgicxfdosgiaegis

No SchemaFactory that implements the schema language specified by: http://www.w3.org/2001/XMLSchema could be loaded


When trying to expose a Service with Aegis databinding in CXF DOSGi I get this error in Java 8. In java 7 it works fine.

Caused by: java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://www.w3.org/2001/XMLSchema could be loaded at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:215) at org.apache.cxf.aegis.type.XMLTypeCreator.(XMLTypeCreator.java:122)

See full stacktrace here

I think the reason is that the code does not see the impl class com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.

Any ideas how to fix this?

Btw. the exception can be observed by running the CXF-DOSGi build in Java 8.


Solution

  • I still do not have found a real solution for this. For now I have committed a workaround on CXF master to ignore this exception in the static code. So the Aegis binding is not schema checked but at least works. See CXF-6959.

    I would be happy about any hints to get this fully working again.