I see the problem... all your xsd's have the same target namespace.
When we're looking them up, we're only looking at the namespace.
I'll see what I can do with it tomorrow.
Dan
On May 19, 2008, at 11:32 AM, Nikolaj A. wrote:
System specs.
CXF 2.1
Tomcat 5.5.17 (I know it's old, but I'm stuck with this)
Java 1.5.0_12
I'm trying to validate the XML input to my web service, but I ran
into this
stack overflow.
snip stacktrace from log
19 maj 2008 16:59:17,711 ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/
services].[QuotaWebservicesServlet]
- Servlet.service() for servlet QuotaWebservicesServlet threw
exception
java.lang.StackOverflowError
at java.nio.charset.Charset.atBugLevel(Charset.java:258)
at java.nio.charset.CharsetDecoder.<init>(CharsetDecoder.java:177)
at java.nio.charset.CharsetDecoder.<init>(CharsetDecoder.java:209)
at sun.nio.cs.SingleByteDecoder.<init>(SingleByteDecoder.java:29)
at sun.nio.cs.MS1252$Decoder.<init>(MS1252.java:72)
at sun.nio.cs.MS1252.newDecoder(MS1252.java:39)
at
java
.nio.charset.CharsetEncoder.isLegalReplacement(CharsetEncoder.java:
311)
at java.nio.charset.CharsetEncoder.replaceWith(CharsetEncoder.java:
267)
at java.nio.charset.CharsetEncoder.<init>(CharsetEncoder.java:186)
at java.nio.charset.CharsetEncoder.<init>(CharsetEncoder.java:209)
at sun.nio.cs.SingleByteEncoder.<init>(SingleByteEncoder.java:39)
at sun.nio.cs.MS1252$Encoder.<init>(MS1252.java:115)
at sun.nio.cs.MS1252.newEncoder(MS1252.java:43)
at sun.nio.cs.StreamEncoder$CharsetSE.<init>(StreamEncoder.java:290)
at sun.nio.cs.StreamEncoder$CharsetSE.<init>(StreamEncoder.java:274)
at
sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:69)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:93)
at java.io.PrintWriter.<init>(PrintWriter.java:109)
at
org
.apache
.xml.utils.DefaultErrorHandler.<init>(DefaultErrorHandler.java:80)
at
org
.apache
.xalan
.processor.TransformerFactoryImpl.<init>(TransformerFactoryImpl.java:
1002)
at sun.reflect.GeneratedConstructorAccessor49.newInstance(Unknown
Source)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at javax.xml.transform.FactoryFinder.newInstance(FactoryFinder.java:
100)
at
javax
.xml
.transform.FactoryFinder.findJarServiceProvider(FactoryFinder.java:
278)
at javax.xml.transform.FactoryFinder.find(FactoryFinder.java:185)
at
javax
.xml
.transform.TransformerFactory.newInstance(TransformerFactory.java:103)
at
org.apache.cxf.wsdl.EndpointReferenceUtils
$
SchemaLSResourceResolver
.getSchemaAsStream(EndpointReferenceUtils.java:115)
at
org.apache.cxf.wsdl.EndpointReferenceUtils
$
SchemaLSResourceResolver.resolveResource(EndpointReferenceUtils.java:
130)
at
com
.sun
.org
.apache
.xerces
.internal
.util
.DOMEntityResolverWrapper
.resolveEntity(DOMEntityResolverWrapper.java:147)
at
com
.sun
.org
.apache
.xerces
.internal.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:
701)
at
com
.sun
.org
.apache
.xerces
.internal
.impl.xs.XMLSchemaLoader.resolveDocument(XMLSchemaLoader.java:599)
at
com
.sun
.org
.apache
.xerces
.internal
.impl.xs.traversers.XSDHandler.resolveSchema(XSDHandler.java:1458)
at
com
.sun
.org
.apache
.xerces
.internal
.impl.xs.traversers.XSDHandler.constructTrees(XSDHandler.java:827)
at
com
.sun
.org
.apache
.xerces
.internal
.impl.xs.traversers.XSDHandler.constructTrees(XSDHandler.java:843)
snip stacktrace from log - end
And so it continues for many lines...
Here's my spring application context
snip from spring application context
<!-- QuotaAnmodningHistorikSamlingHent -->
<!-- endpoint/webservice -->
<jaxws:endpoint id="quotaAnmodningHistorikSamlingHentEndpoint"
implementor="#quotaAnmodningHistorikSamlingHent"
implementorClass
="dk.steria.quota.services.QuotaAnmodningHistorikSamlingHent"
wsdlLocation="D:/BADEnvironment/servers/Quota/apache-tomcat-5.5.17/
webapps/services/WEB-INF/servicedescriptions/wsdl/
QuotaAnmodningHistorikSamlingHent.wsdl"
address="/QuotaAnmodningHistorikSamlingHent">
<jaxws:properties>
<entry key="schema-validation-enabled" value="true" />
</jaxws:properties>
</jaxws:endpoint>
<!-- proxy class -->
<bean id="quotaAnmodningHistorikSamlingHent"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<
value
>
dk
.steria
.quota.services.QuotaAnmodningHistorikSamlingHentServicePortType</
value>
</property>
<property name="target">
<ref bean="quotaAnmodningHistorikSamlingHentTarget" />
</property>
<property name="interceptorNames">
<list>
<value>systemLogPointcutAdvisor</value>
</list>
</property>
</bean>
<!-- implementation class -->
<bean id="quotaAnmodningHistorikSamlingHentTarget"
class="dk.steria.quota.services.QuotaAnmodningHistorikSamlingHent"/>
snip from spring application context - end
It looks like the EndpointReferenceUtils are unable to locate the
schemas,
which are packed along with the wsdl files in the (exploded) war.
The war structure looks like this:
exploded war
- META-INF
-- ...
- WEB-INF
-- classes
--- ...
-- lib
--- ...
-- servicedescriptions
--- wsdl
--- folder structure with xsd's
--- ...
-- applicationContext.xml
-- web.xml
I tried to look at the wsdl_first example, but I'm stuck. Any ideas?
/Nikolaj
--
View this message in context:
http://www.nabble.com/Problems-with-schema-validation-enabled-tp17319259p17319259.html
Sent from the cxf-user mailing list archive at Nabble.com.
---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog