Problem with schema validation (JAX-WS & JAXB)

View: New views
14 Messages — Rating Filter:   Alert me  

Problem with schema validation (JAX-WS & JAXB)

by jfougere :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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


RE: Problem with schema validation (JAX-WS & JAXB)

by Aaron Pieper :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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:Julien.FOUGERE@...]
Sent: Monday, May 19, 2008 3:49 AM
To: cxf-user@...
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


RE: Problem with schema validation (JAX-WS & JAXB)

by jfougere :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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:Julien.FOUGERE@cpexterne.org]
Sent: Monday, May 19, 2008 3:49 AM
To: cxf-user@incubator.apache.org
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

RE: Problem with schema validation (JAX-WS & JAXB)

by jfougere :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I would like to know what exactly is done when schema validation is activated in CXF
(ie : <entry key="schema-validation-enabled" value="true" /> ) ?

I am still having problem to turn on activation on server side but validation by other means like external tools (xmlSpy) or Java5 Validator API works fine.

Do you have any idea of the problem here ?

Thanks

Julien


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:Julien.FOUGERE@cpexterne.org]
Sent: Monday, May 19, 2008 3:49 AM
To: cxf-user@incubator.apache.org
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


Antwort: RE: Problem with schema validation (JAX-WS & JAXB) [Virus checked]

by jan.minaroviech :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

in my humble opinion it's done on the fly ...
it means, as objects are serialized to XML, XML library is set up to do
validation too.

couldn't you try to debug why is it in loop or at least where is it in
loop?

or at least if you can send simple sample project or testcase which shows
this problem

best regards
jano




jfougere <Julien.FOUGERE@...>
05/27/2008 08:42
Bitte antworten an
users@...


An
users@...
Kopie

Thema
RE: Problem with schema validation (JAX-WS & JAXB)  [Virus checked]







I would like to know what exactly is done when schema validation is
activated
in CXF
(ie : <entry key="schema-validation-enabled" value="true" /> ) ?

I am still having problem to turn on activation on server side but
validation by other means like external tools (xmlSpy) or Java5 Validator
API works fine.

Do you have any idea of the problem here ?

Thanks

Julien


jfougere wrote:
>
> 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:Julien.FOUGERE@...]
>> Sent: Monday, May 19, 2008 3:49 AM
>> To: cxf-user@...
>> 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-tp17319174p17484086.html

Sent from the cxf-user mailing list archive at Nabble.com.





Re: Problem with schema validation (JAX-WS & JAXB)

by dkulp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On May 27, 2008, at 2:42 AM, jfougere wrote:

>
> I would like to know what exactly is done when schema validation is  
> activated
> in CXF
> (ie : <entry key="schema-validation-enabled" value="true" /> ) ?
>
> I am still having problem to turn on activation on server side but
> validation by other means like external tools (xmlSpy) or Java5  
> Validator
> API works fine.
>
> Do you have any idea of the problem here ?


Any chance you can file a JIRA and attach a test case that  
demonstrates the problem?   If I can get a full test case, it's a LOT  
easier to debug.

Dan


>
>
> Thanks
>
> Julien
>
>
> jfougere wrote:
>>
>> 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:Julien.FOUGERE@...
>>> ]
>>> Sent: Monday, May 19, 2008 3:49 AM
>>> To: cxf-user@...
>>> 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.
>&g