You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Murthy M <mu...@yahoo.com> on 2008/05/21 03:25:28 UTC

java.lang.StackOverflowError at org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition

Hello, 
I have setup CXF Webservice using HTTP Servlet
(org.apache.cxf.jaxws.servlet.CXFServlet) following the guidelines on the
site. 
http://cwiki.apache.org/CXF20DOC/servlet-transport.html
    
I am using Eclipse Europa 3.3.2, CXF 2.1, Tomcat 6.0.16, on a WSDL-first
project with maven build.  
When I start the web-app within Eclipse (or) outside from Tomcat, I get the
following error - Servlet.service() for servlet CXFServlet threw exception
java.lang.StackOverflowError.  Basically service seems to start up fine
(loads the CXF beans via spring beans xml), but doesn't serve the wsdl.  
Looks like it is getting into a loop at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269).
    
Please advise.  Thanks for your help.  Regards. 
====
May 20, 2008 4:49:20 PM org.apache.cxf.transport.servlet.AbstractCXFServlet
replaceDestinationFactory
INFO: Servlet transport factory already registered 
May 20, 2008 4:49:20 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet CXFServlet threw exception
java.lang.StackOverflowError
	at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:504)
	at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
	at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
	at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
	at java.lang.StringCoding.encode(StringCoding.java:378)
	at java.lang.String.getBytes(String.java:812)
	at org.apache.xml.resolver.Catalog.normalizeURI(Catalog.java:2125)
	at org.apache.xml.resolver.Catalog.resolveSystem(Catalog.java:1679)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.resolveWithCatalogs(WSDLQueryHandler.java:238)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:261)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
[...many more same calls as this one... added by me]
	at
org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
	...
=====
-- 
View this message in context: http://www.nabble.com/java.lang.StackOverflowError-at-org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition-tp17354204p17354204.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: java.lang.StackOverflowError at org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition

Posted by Daniel Kulp <dk...@apache.org>.

I tried to fix this today.  I'm going to do another snapshot this  
weekend.  If you could give that a try on monday using your original  
wsdl's, that would be a big help.

Dan




On May 29, 2008, at 4:12 PM, Murthy M wrote:

>
> It turned out that we had recursive imports in the WSDL.  Eg. We had  
> WSDL A
> and B, and WSDL A was importing WSDL B and WSDL B was importing WSDL  
> A.  I
> commented out the import WSDL in the subordinate WSDL and it worked  
> out fine
> and CXF Webservice was able to serve WSDL.  I went back to Tomcat  
> 5.5.23
> (used at our site as of now) and it worked fine there as well.
>
>
> Murthy M wrote:
>>
>> Hello,
>> I have setup CXF Webservice using HTTP Servlet
>> (org.apache.cxf.jaxws.servlet.CXFServlet) following the guidelines  
>> on the
>> site.
>> http://cwiki.apache.org/CXF20DOC/servlet-transport.html
>>
>> I am using Eclipse Europa 3.3.2, CXF 2.1, Tomcat 6.0.16, on a WSDL- 
>> first
>> project with maven build.
>> When I start the web-app within Eclipse (or) outside from Tomcat, I  
>> get
>> the following error - Servlet.service() for servlet CXFServlet threw
>> exception java.lang.StackOverflowError.  Basically service seems to  
>> start
>> up fine (loads the CXF beans via spring beans xml), but doesn't  
>> serve the
>> wsdl.
>> Looks like it is getting into a loop at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269).
>>
>> Please advise.  Thanks for your help.  Regards.
>> ====
>> May 20, 2008 4:49:20 PM
>> org.apache.cxf.transport.servlet.AbstractCXFServlet
>> replaceDestinationFactory
>> INFO: Servlet transport factory already registered
>> May 20, 2008 4:49:20 PM org.apache.catalina.core.StandardWrapperValve
>> invoke
>> SEVERE: Servlet.service() for servlet CXFServlet threw exception
>> java.lang.StackOverflowError
>> 	at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:504)
>> 	at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
>> 	at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
>> 	at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
>> 	at java.lang.StringCoding.encode(StringCoding.java:378)
>> 	at java.lang.String.getBytes(String.java:812)
>> 	at org.apache.xml.resolver.Catalog.normalizeURI(Catalog.java:2125)
>> 	at org.apache.xml.resolver.Catalog.resolveSystem(Catalog.java:1679)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.resolveWithCatalogs(WSDLQueryHandler.java:238)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:261)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> [...many more same calls as this one... added by me]
>> 	at
>> org 
>> .apache 
>> .cxf 
>> .transport 
>> .http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
>> 	...
>> =====
>>
>
> -- 
> View this message in context: http://www.nabble.com/java.lang.StackOverflowError-at-org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition-tp17354204p17544793.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





Re: java.lang.StackOverflowError at org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition

Posted by Murthy M <mu...@yahoo.com>.
It turned out that we had recursive imports in the WSDL.  Eg. We had WSDL A
and B, and WSDL A was importing WSDL B and WSDL B was importing WSDL A.  I
commented out the import WSDL in the subordinate WSDL and it worked out fine
and CXF Webservice was able to serve WSDL.  I went back to Tomcat 5.5.23
(used at our site as of now) and it worked fine there as well.


Murthy M wrote:
> 
> Hello, 
> I have setup CXF Webservice using HTTP Servlet
> (org.apache.cxf.jaxws.servlet.CXFServlet) following the guidelines on the
> site. 
> http://cwiki.apache.org/CXF20DOC/servlet-transport.html
>     
> I am using Eclipse Europa 3.3.2, CXF 2.1, Tomcat 6.0.16, on a WSDL-first
> project with maven build.  
> When I start the web-app within Eclipse (or) outside from Tomcat, I get
> the following error - Servlet.service() for servlet CXFServlet threw
> exception java.lang.StackOverflowError.  Basically service seems to start
> up fine (loads the CXF beans via spring beans xml), but doesn't serve the
> wsdl.  
> Looks like it is getting into a loop at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269).
>     
> Please advise.  Thanks for your help.  Regards. 
> ====
> May 20, 2008 4:49:20 PM
> org.apache.cxf.transport.servlet.AbstractCXFServlet
> replaceDestinationFactory
> INFO: Servlet transport factory already registered 
> May 20, 2008 4:49:20 PM org.apache.catalina.core.StandardWrapperValve
> invoke
> SEVERE: Servlet.service() for servlet CXFServlet threw exception
> java.lang.StackOverflowError
> 	at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:504)
> 	at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
> 	at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
> 	at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
> 	at java.lang.StringCoding.encode(StringCoding.java:378)
> 	at java.lang.String.getBytes(String.java:812)
> 	at org.apache.xml.resolver.Catalog.normalizeURI(Catalog.java:2125)
> 	at org.apache.xml.resolver.Catalog.resolveSystem(Catalog.java:1679)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.resolveWithCatalogs(WSDLQueryHandler.java:238)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:261)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> [...many more same calls as this one... added by me]
> 	at
> org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition(WSDLQueryHandler.java:269)
> 	...
> =====
> 

-- 
View this message in context: http://www.nabble.com/java.lang.StackOverflowError-at-org.apache.cxf.transport.http.WSDLQueryHandler.updateDefinition-tp17354204p17544793.html
Sent from the cxf-user mailing list archive at Nabble.com.