diff --git a/infra/prism/src/main/java/com/evolveum/midpoint/prism/schema/DomToSchemaProcessor.java b/infra/prism/src/main/java/com/evolveum/midpoint/prism/schema/DomToSchemaProcessor.java index d81f53266d9..d4b72b25f8c 100644 --- a/infra/prism/src/main/java/com/evolveum/midpoint/prism/schema/DomToSchemaProcessor.java +++ b/infra/prism/src/main/java/com/evolveum/midpoint/prism/schema/DomToSchemaProcessor.java @@ -204,6 +204,13 @@ private XSSchemaSet parseSchema(Element schema) throws SchemaException { } catch (TransformerException e) { throw new SchemaException("XML transformer error during XSD schema parsing: " + e.getMessage() + "(locator: "+e.getLocator()+", embedded exception:"+ e.getException()+") in "+shortDescription, e); + } catch (RuntimeException e) { + // This sometimes happens, e.g. NPEs in Saxon + if (LOGGER.isErrorEnabled()) { + LOGGER.error("Unexpected error {} during parsing of schema:\n{}",e.getMessage(),DOMUtil.serializeDOMToString(schema)); + } + throw new SchemaException("XML error during XSD schema parsing: " + + e.getMessage() + " in "+shortDescription, e); } return xss;