We were doing a trial deploy of our brand new java service to the production host yesterday. The service had started up everywhere else so far
Of course it didn't start up on this production host. In the logs was a stack trace that included this error message:
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'amq:broker'.
What caused this problem? This production host was firewalling off connections to activemq.apache.org. This host was serving a XSD file which was required to validate the XML namespace we have used.
I'm thinking WTF! Seriously? Why wasn't the XSD file deployed with jars?
The simplest solution/workaround was to take http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd and make it http://activemq.apache.org/schema/core/activemq-core.xsd in our XML file. When validating the XML file, it'll use a version of the file available within the activemq jars.
Dropping the version causes Eclipse to complain but that's another problem (and another google search).