Question

Je reçois exception suivante lorsque vous essayez de charger un fichier schéma XML dans le conteneur de Resin 3.0.25. Le fichier de schéma ne se réfère pas quelque chose d'extérieur en dehors de l'espace de noms XML Schema (http://www.w3.org/2001/XMLSchema).  Le fichier XML Schema est valide et fonctionne exactement le même code lors de l'utilisation d'un conteneur Jetty.

La machine qui fonctionne résine n'a pas accès à Internet, et la machine en cours d'exécution Jetty dispose d'un accès Internet.

Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'xsdSchema' threw exception; nested exception is org.springframework.xml.validation.XmlValidationException: C
ould not create Schema: s4s-att-invalid-value: Invalid attribute value for 'base' in element 'restriction'. Recorded reason: UndeclaredPrefix: Cannot resolve 'xsd:string' as a QName: the prefix 'xsd
' is not declared.; nested exception is org.xml.sax.SAXParseException: s4s-att-invalid-value: Invalid attribute value for 'base' in element 'restriction'. Recorded reason: UndeclaredPrefix: Cannot r
esolve 'xsd:string' as a QName: the prefix 'xsd' is not declared.
        at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104)
        at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1198)
        ... 48 more

J'ai essayé différents parseurs XML comme cela, mais il ne semble pas avoir d'effet.

-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 
-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl

Quelle pourrait être la raison de ce comportement?

Edit: Avec un peu différente configuration du printemps, je reçois ce stacktrace

org.xml.sax.SAXParseException: s4s-att-invalid-value: Invalid attribute
value for 'base' in element 'restriction'. Recorded reason: UndeclaredPrefix:
Cannot resolve 'xsd:string' as a QName: the prefix 'xsd' is not declared.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:2525)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.reportSchemaError(XSAttributeChecker.java:1608)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.checkAttributes(XSAttributeChecker.java:1175)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.checkAttributes(XSAttributeChecker.java:996)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.getSimpleType(XSDSimpleTypeTraverser.java:221)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.traverseSimpleTypeDecl(XSDSimpleTypeTraverser.java:142)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDSimpleTypeTraverser.traverseGlobal(XSDSimpleTypeTraverser.java:102)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1267)
    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:579)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:552)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:519)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:485)
    at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:206)
    at org.springframework.xml.validation.SchemaLoaderUtils.loadSchema(SchemaLoaderUtils.java:77)
Était-ce utile?

La solution 2

Je ne sais pas pourquoi cette erreur, mais la solution de travail est de passer à la résine 3.1.10.

Autres conseils

Probablement sans connexion Internet, il ne peut pas télécharger schéma pour XSD. Vous pouvez probablement utiliser le catalogue XML à un point de schéma disponible localement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top