Hi Aaron, thanks for your answer.

I have several XSD's but there is no cyclic reference. In fact the first one
import the second one who itself incude the third one. (The third one does
not include nether import another xsd).

Do you have another idea for the cause of this issue ? When I am doing
validation by code it works without problem...

Thanks

Julien


Aaron Pieper wrote:
> 
> It looks to me like Xerces is recursing trying to follow your XSD imports.
> Do you have any XSDs that refer to eachother in a cycle?
> 
> - Aaron
> 
> -----Original Message-----
> From: FOUGERE Julien (Prestataire) [mailto:[EMAIL PROTECTED] 
> Sent: Monday, May 19, 2008 3:49 AM
> To: [EMAIL PROTECTED]
> Subject: Problem with schema validation (JAX-WS & JAXB)
> 
> Hi, I am currently experiencing problem to set up server side schema
> validation. I have a JAX-WS frontend webservice and JAXB databinding.
> 
> When I turn schema validation on, I get a stack overflow error. It really
> looks like that xerces is running on an infinite loop....
> 
>  
> 
> Here is my cxf-servlet.xml file :
> 
>  
> 
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <beans xmlns="http://www.springframework.org/schema/beans";
> 
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> 
>       xmlns:jaxws="http://cxf.apache.org/jaxws";
> 
>       xmlns:soap="http://cxf.apache.org/bindings/soap";
> 
>       xsi:schemaLocation="
> 
> http://www.springframework.org/schema/beans 
> 
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> 
> http://cxf.apache.org/bindings/soap
> 
> http://cxf.apache.org/schemas/configuration/soap.xsd
> 
> http://cxf.apache.org/jaxws
> 
> http://cxf.apache.org/schemas/jaxws.xsd";>
> 
>  
> 
>     <jaxws:endpoint 
> 
>         id="BrmService"
> 
>         implementor="fr.service.pivot.BrmServiceImpl"
> 
>         wsdlLocation="WEB-INF/wsdl/BrmAsyncServices.wsdl"
> 
>         address="/BrmService">
> 
>         <!--Below is optional; logs SOAP requests/responses to servlet
> container
> 
>               output log (for Tomcat: logs/catalina.out)-->
> 
>         <jaxws:features>
> 
>             <bean class="org.apache.cxf.feature.LoggingFeature"/>
> 
>         </jaxws:features>
> 
>          <jaxws:properties>
> 
>             <entry key="schema-validation-enabled" value="true" />
> 
>         </jaxws:properties>
> 
>     </jaxws:endpoint>
> 
>  </beans>
> 
>  
> 
> Here is the stack trace :
> 
>  
> 
> GRAVE: "Servlet.service()" pour la servlet WebServicePort a généré une
> exception
> 
> java.lang.StackOverflowError
> 
>             at java.util.zip.ZipFile.getEntry(Unknown Source)
> 
>             at java.util.jar.JarFile.getEntry(Unknown Source)
> 
>             at java.util.jar.JarFile.getJarEntry(Unknown Source)
> 
>             at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
> 
>             at sun.misc.URLClassPath$JarLoader.findResource(Unknown
> Source)
> 
>             at sun.misc.URLClassPath.findResource(Unknown Source)
> 
>             at java.net.URLClassLoader$2.run(Unknown Source)
> 
>             at java.security.AccessController.doPrivileged(Native Method)
> 
>             at java.net.URLClassLoader.findResource(Unknown Source)
> 
>             at java.lang.ClassLoader.getResource(Unknown Source)
> 
>             at java.lang.ClassLoader.getResource(Unknown Source)
> 
>             at java.lang.ClassLoader.getResource(Unknown Source)
> 
>             at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
> 
>             at
> org.apache.catalina.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1176)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.SecuritySupport12$6.run(Unknown
> Source)
> 
>             at java.security.AccessController.doPrivileged(Native Method)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.SecuritySupport12.getResourceAsStream(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.ObjectFactory.findJarServiceProviderName(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.ObjectFactory.lookUpFactoryClassName(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.ObjectFactory.lookUpFactoryClass(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTMManagerClass(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.<init>(Unknown
> Source)
> 
>             at
> sun.reflect.GeneratedConstructorAccessor45.newInstance(Unknown Source)
> 
>             at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
> 
>             at java.lang.reflect.Constructor.newInstance(Unknown Source)
> 
>             at java.lang.Class.newInstance0(Unknown Source)
> 
>             at java.lang.Class.newInstance(Unknown Source)
> 
>             at javax.xml.transform.FactoryFinder.newInstance(Unknown
> Source)
> 
>             at javax.xml.transform.FactoryFinder.find(Unknown Source)
> 
>             at javax.xml.transform.TransformerFactory.newInstance(Unknown
> Source)
> 
>             at
> org.apache.cxf.wsdl.EndpointReferenceUtils$SchemaLSResourceResolver.getSchemaAsStream(EndpointReferenceUtils.java:110)
> 
>             at
> org.apache.cxf.wsdl.EndpointReferenceUtils$SchemaLSResourceResolver.resolveResource(EndpointReferenceUtils.java:125)
> 
>             at
> com.sun.org.apache.xerces.internal.util.DOMEntityResolverWrapper.resolveEntity(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntity(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.resolveDocument(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.resolveSchema(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>             at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(Unknown
> Source)
> 
>  
> 
>  
> 
> When schema validation is turned off, everything works well. I can also
> get the schema validation working with external tools like (xmlSpy) or
> this kind of code :
> 
>  
> 
>   //Validation
> 
>               in = new FileInputStream(requestFile);
> 
>               SchemaFactory schemaFactory =
> SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
> 
>               Schema schema = schemaFactory.newSchema(new StreamSource(new
> File("xsd/EAI.xsd")));
> 
>               Validator validator = schema.newValidator();
> 
>               validator.validate(new StreamSource(in));
> 
>  
> 
> So it seems that my XSD file is valid.
> 
>  
> 
>  
> 
> May be I'm not using the right way to activate server side schema
> validation. Thanks to everyone who can help me.
> 
>  
> 
>  
> 
> Julien
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problem-with-schema-validation-%28JAX-WS---JAXB%29-tp17319174p17359818.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to