[ 
https://issues.apache.org/jira/browse/CAMEL-11000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrea Cosentino resolved CAMEL-11000.
--------------------------------------
    Resolution: Fixed

> Property 'accessExternalDTD' is not recognized by (all) Xerces
> --------------------------------------------------------------
>
>                 Key: CAMEL-11000
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11000
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-validator
>    Affects Versions: 2.17.5, 2.18.3
>            Reporter: Bernard Ligny
>            Assignee: Andrea Cosentino
>             Fix For: 2.17.6, 2.18.4, 2.19.0
>
>
> When upgrading from v2.18.1 to 2.18.3, we encounter a (blocking) regression, 
> preventing routes involving validator component to successfully start.
> Indeed, one of the recent validation-related changes is not fully compatible 
> with all versions of Xerces. Especially when deployed on JBoss Wildlfy 
> 10.1.0.Final :-(
> *Stack trace*:
> {code:java}
> Caused by: java.lang.IllegalStateException: 
> org.xml.sax.SAXNotRecognizedException: Property 
> 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
>       at 
> org.apache.camel.processor.validation.SchemaReader.createSchemaFactory(SchemaReader.java:181)
>       at 
> org.apache.camel.processor.validation.SchemaReader.getSchemaFactory(SchemaReader.java:152)
>       at 
> org.apache.camel.processor.validation.SchemaReader.createSchema(SchemaReader.java:192)
>       at 
> org.apache.camel.processor.validation.SchemaReader.loadSchema(SchemaReader.java:84)
>       at 
> org.apache.camel.component.validator.ValidatorEndpoint.createProducer(ValidatorEndpoint.java:119)
>       at 
> org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:574)
>       ... 78 more
> Caused by: org.xml.sax.SAXNotRecognizedException: Property 
> 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
>       at 
> org.apache.xerces.jaxp.validation.XMLSchemaFactory.setProperty(XMLSchemaFactory.java:436)
>       at __redirected.__SchemaFactory.setProperty(__SchemaFactory.java:143)
>       at 
> org.apache.camel.processor.validation.SchemaReader.createSchemaFactory(SchemaReader.java:178)
>       ... 83 more
> {code}
> In particular, in the following code:
> {code:java}
> protected SchemaFactory createSchemaFactory() {
>    ...
>       try {
>               factory.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
>       } catch (SAXException e) {
>               LOG.error(e.getMessage(), e);
>               throw new IllegalStateException(e);
>       } 
>  
> }   
> {code} 
>    
> Would it be possible to issue a simple warning, rather then raising an 
> exception ?
> (>see Oracle recommandations: 
> https://docs.oracle.com/javase/tutorial/jaxp/properties/error.html)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to