You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Ilkka Virolainen <Il...@bitwise.fi> on 2018/03/06 07:39:29 UTC
Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Hello,
After a recent change allowing splitting up the broker configuration across multiple files, starting Artemis fails when the server running broker has no Internet access. xml:specialAttrs references in artemis-configuration.xsd fail because the schema location http://www.w3.org/2005/08/xml.xsd is inaccessible. To reproduce, pull the latest master for 2.5.0-SNAPSHOT, block www.w3.org and try to run a broker. Is there a workaround for this? Note that it's not enough to just add the required XSD to ARTEMIS_HOME\schema and update the schemaLocation since the referenced schema files are inside the artemis-server.jar. The stack trace for the error is as follows.
Best regards,
- Ilkka
_ _ _
/ \ ____| |_ ___ __ __(_) _____
/ _ \| _ \ __|/ _ \ \/ | |/ __/
/ ___ \ | \/ |_/ __/ |\/| | |\___ \
/_/ \_\| \__\____|_| |_|_|/___ /
Apache ActiveMQ Artemis 2.5.0-SNAPSHOT
Exception in thread "main" org.xml.sax.SAXParseException; systemId: jar:file:/C:/temp/artemis-master/apache-artemis-2.5.0-SNAPSHOT/lib/artemis-server-2.5.0-SNAPSHOT.jar!/schema/artemis-configuration.xsd; lineNumber: 1083; columnNumber: 51; src-resolve: Cannot resolve the name 'xml:specialAttrs' to a(n) 'attribute group' component.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeGroupTraverser.traverseLocal(XSDAttributeGroupTraverser.java:80)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:643)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1123)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:335)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseGlobalDecl(XSDHandler.java:1892)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1780)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1437)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538)
at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:326)
at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:85)
at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:68)
at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:97)
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)
RE: Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Posted by Ilkka Virolainen <Il...@bitwise.fi>.
I see that this is now resolved. Thank you!
-----Original Message-----
From: Michael André Pearce [mailto:michael.andre.pearce@me.com]
Sent: 6. maaliskuuta 2018 12:56
To: users@activemq.apache.org
Subject: Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access Internet
This is just now in PR
https://github.com/apache/activemq-artemis/pull/1933
> On 6 Mar 2018, at 09:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>
> Sounds good, thanks!
>
> Here's the JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1731
>
> Best regards,
> - Ilkka
>
> -----Original Message-----
> From: Michael André Pearce [mailto:michael.andre.pearce@me.com]
> Sent: 6. maaliskuuta 2018 10:51
> To: users@activemq.apache.org
> Subject: Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access Internet
>
> We can pull in this schema into the build so it’s included.
>
> Will try look at this today.
>
> Can you raise a JIRA?
>
> Sent from my iPhone
>
>> On 6 Mar 2018, at 07:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>>
>> Hello,
>>
>> After a recent change allowing splitting up the broker configuration across multiple files, starting Artemis fails when the server running broker has no Internet access. xml:specialAttrs references in artemis-configuration.xsd fail because the schema location http://www.w3.org/2005/08/xml.xsd is inaccessible. To reproduce, pull the latest master for 2.5.0-SNAPSHOT, block www.w3.org and try to run a broker. Is there a workaround for this? Note that it's not enough to just add the required XSD to ARTEMIS_HOME\schema and update the schemaLocation since the referenced schema files are inside the artemis-server.jar. The stack trace for the error is as follows.
>>
>> Best regards,
>> - Ilkka
>>
>> _ _ _
>> / \ ____| |_ ___ __ __(_) _____
>> / _ \| _ \ __|/ _ \ \/ | |/ __/
>> / ___ \ | \/ |_/ __/ |\/| | |\___ \
>> /_/ \_\| \__\____|_| |_|_|/___ /
>> Apache ActiveMQ Artemis 2.5.0-SNAPSHOT
>>
>>
>> Exception in thread "main" org.xml.sax.SAXParseException; systemId: jar:file:/C:/temp/artemis-master/apache-artemis-2.5.0-SNAPSHOT/lib/artemis-server-2.5.0-SNAPSHOT.jar!/schema/artemis-configuration.xsd; lineNumber: 1083; columnNumber: 51; src-resolve: Cannot resolve the name 'xml:specialAttrs' to a(n) 'attribute group' component.
>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
>> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeGroupTraverser.traverseLocal(XSDAttributeGroupTraverser.java:80)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:643)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1123)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:335)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseGlobalDecl(XSDHandler.java:1892)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1780)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1437)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538)
>> at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)
>> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
>> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
>> at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:326)
>> at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:85)
>> at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:68)
>> at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
>> at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
>> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:97)
>> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:124)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>> at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
>> at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)
Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Posted by "Oliver B. Fischer" <o....@swe-blog.net>.
I wouldn't change the schemaLocation directly as it is actual a bad
practice. Dependending on the XML processor catalog files should be
used. In most cases the API of the XML processor allows you to handle
such things in a cleaner way.
Oliver
Am 06.03.18 um 11:55 schrieb Michael André Pearce:
> This is just now in PR
>
> https://github.com/apache/activemq-artemis/pull/1933
>
>
>
>> On 6 Mar 2018, at 09:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>>
>> Sounds good, thanks!
>>
>> Here's the JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1731
>>
>> Best regards,
>> - Ilkka
>>
>> -----Original Message-----
>> From: Michael André Pearce [mailto:michael.andre.pearce@me.com]
>> Sent: 6. maaliskuuta 2018 10:51
>> To: users@activemq.apache.org
>> Subject: Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access Internet
>>
>> We can pull in this schema into the build so it’s included.
>>
>> Will try look at this today.
>>
>> Can you raise a JIRA?
>>
>> Sent from my iPhone
>>
>
Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Posted by Michael André Pearce <mi...@me.com>.
This is just now in PR
https://github.com/apache/activemq-artemis/pull/1933
> On 6 Mar 2018, at 09:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>
> Sounds good, thanks!
>
> Here's the JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1731
>
> Best regards,
> - Ilkka
>
> -----Original Message-----
> From: Michael André Pearce [mailto:michael.andre.pearce@me.com]
> Sent: 6. maaliskuuta 2018 10:51
> To: users@activemq.apache.org
> Subject: Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access Internet
>
> We can pull in this schema into the build so it’s included.
>
> Will try look at this today.
>
> Can you raise a JIRA?
>
> Sent from my iPhone
>
>> On 6 Mar 2018, at 07:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>>
>> Hello,
>>
>> After a recent change allowing splitting up the broker configuration across multiple files, starting Artemis fails when the server running broker has no Internet access. xml:specialAttrs references in artemis-configuration.xsd fail because the schema location http://www.w3.org/2005/08/xml.xsd is inaccessible. To reproduce, pull the latest master for 2.5.0-SNAPSHOT, block www.w3.org and try to run a broker. Is there a workaround for this? Note that it's not enough to just add the required XSD to ARTEMIS_HOME\schema and update the schemaLocation since the referenced schema files are inside the artemis-server.jar. The stack trace for the error is as follows.
>>
>> Best regards,
>> - Ilkka
>>
>> _ _ _
>> / \ ____| |_ ___ __ __(_) _____
>> / _ \| _ \ __|/ _ \ \/ | |/ __/
>> / ___ \ | \/ |_/ __/ |\/| | |\___ \
>> /_/ \_\| \__\____|_| |_|_|/___ /
>> Apache ActiveMQ Artemis 2.5.0-SNAPSHOT
>>
>>
>> Exception in thread "main" org.xml.sax.SAXParseException; systemId: jar:file:/C:/temp/artemis-master/apache-artemis-2.5.0-SNAPSHOT/lib/artemis-server-2.5.0-SNAPSHOT.jar!/schema/artemis-configuration.xsd; lineNumber: 1083; columnNumber: 51; src-resolve: Cannot resolve the name 'xml:specialAttrs' to a(n) 'attribute group' component.
>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
>> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeGroupTraverser.traverseLocal(XSDAttributeGroupTraverser.java:80)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:643)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1123)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:335)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseGlobalDecl(XSDHandler.java:1892)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1780)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1437)
>> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572)
>> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538)
>> at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)
>> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
>> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
>> at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:326)
>> at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:85)
>> at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:68)
>> at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
>> at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
>> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:97)
>> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:124)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>> at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
>> at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)
RE: Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Posted by Ilkka Virolainen <Il...@bitwise.fi>.
Sounds good, thanks!
Here's the JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1731
Best regards,
- Ilkka
-----Original Message-----
From: Michael André Pearce [mailto:michael.andre.pearce@me.com]
Sent: 6. maaliskuuta 2018 10:51
To: users@activemq.apache.org
Subject: Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access Internet
We can pull in this schema into the build so it’s included.
Will try look at this today.
Can you raise a JIRA?
Sent from my iPhone
> On 6 Mar 2018, at 07:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>
> Hello,
>
> After a recent change allowing splitting up the broker configuration across multiple files, starting Artemis fails when the server running broker has no Internet access. xml:specialAttrs references in artemis-configuration.xsd fail because the schema location http://www.w3.org/2005/08/xml.xsd is inaccessible. To reproduce, pull the latest master for 2.5.0-SNAPSHOT, block www.w3.org and try to run a broker. Is there a workaround for this? Note that it's not enough to just add the required XSD to ARTEMIS_HOME\schema and update the schemaLocation since the referenced schema files are inside the artemis-server.jar. The stack trace for the error is as follows.
>
> Best regards,
> - Ilkka
>
> _ _ _
> / \ ____| |_ ___ __ __(_) _____
> / _ \| _ \ __|/ _ \ \/ | |/ __/
> / ___ \ | \/ |_/ __/ |\/| | |\___ \
> /_/ \_\| \__\____|_| |_|_|/___ /
> Apache ActiveMQ Artemis 2.5.0-SNAPSHOT
>
>
> Exception in thread "main" org.xml.sax.SAXParseException; systemId: jar:file:/C:/temp/artemis-master/apache-artemis-2.5.0-SNAPSHOT/lib/artemis-server-2.5.0-SNAPSHOT.jar!/schema/artemis-configuration.xsd; lineNumber: 1083; columnNumber: 51; src-resolve: Cannot resolve the name 'xml:specialAttrs' to a(n) 'attribute group' component.
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeGroupTraverser.traverseLocal(XSDAttributeGroupTraverser.java:80)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:643)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1123)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:335)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseGlobalDecl(XSDHandler.java:1892)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1780)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1437)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538)
> at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)
> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
> at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:326)
> at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:85)
> at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:68)
> at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
> at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:97)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
> at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)
Re: Artemis 2.5.0 - Startup fails when XSD validation cannot access
Internet
Posted by Michael André Pearce <mi...@me.com>.
We can pull in this schema into the build so it’s included.
Will try look at this today.
Can you raise a JIRA?
Sent from my iPhone
> On 6 Mar 2018, at 07:39, Ilkka Virolainen <Il...@bitwise.fi> wrote:
>
> Hello,
>
> After a recent change allowing splitting up the broker configuration across multiple files, starting Artemis fails when the server running broker has no Internet access. xml:specialAttrs references in artemis-configuration.xsd fail because the schema location http://www.w3.org/2005/08/xml.xsd is inaccessible. To reproduce, pull the latest master for 2.5.0-SNAPSHOT, block www.w3.org and try to run a broker. Is there a workaround for this? Note that it's not enough to just add the required XSD to ARTEMIS_HOME\schema and update the schemaLocation since the referenced schema files are inside the artemis-server.jar. The stack trace for the error is as follows.
>
> Best regards,
> - Ilkka
>
> _ _ _
> / \ ____| |_ ___ __ __(_) _____
> / _ \| _ \ __|/ _ \ \/ | |/ __/
> / ___ \ | \/ |_/ __/ |\/| | |\___ \
> /_/ \_\| \__\____|_| |_|_|/___ /
> Apache ActiveMQ Artemis 2.5.0-SNAPSHOT
>
>
> Exception in thread "main" org.xml.sax.SAXParseException; systemId: jar:file:/C:/temp/artemis-master/apache-artemis-2.5.0-SNAPSHOT/lib/artemis-server-2.5.0-SNAPSHOT.jar!/schema/artemis-configuration.xsd; lineNumber: 1083; columnNumber: 51; src-resolve: Cannot resolve the name 'xml:specialAttrs' to a(n) 'attribute group' component.
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4156)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4139)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1682)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAttributeGroupTraverser.traverseLocal(XSDAttributeGroupTraverser.java:80)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:643)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1123)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:335)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:191)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseGlobalDecl(XSDHandler.java:1892)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1780)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:242)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1437)
> at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:613)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:572)
> at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:538)
> at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)
> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
> at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:326)
> at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:85)
> at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:68)
> at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:82)
> at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:149)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:97)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:129)
> at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)