As an in-progress followup, the lack of a stack dump is due to java bug 4872096 (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4872096 ) which can be worked around by adding -Xint to the vm arguments.

I'm currently getting (with the middle cut out):
java.lang.StackOverflowError
        at java.lang.String.charAt(String.java:443)
        at org.apache.xerces.util.XMLChar.isValidName(Unknown Source)
        at org.apache.xerces.dom.CoreDocumentImpl.isXMLName(Unknown Source)
        at org.apache.xerces.dom.CoreDocumentImpl.createElement(Unknown Source)
        at org.apache.axis.wsdl.fromJava.Types.createElementWithAnonymousType(Types.java:1699)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:411)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:346)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1796)
        at org.apache.axis.wsdl.fromJava.Types.createElementWithAnonymousType(Types.java:1712)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:411)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:346)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1796)
        at org.apache.axis.wsdl.fromJava.Types.createElementWithAnonymousType(Types.java:1712)
        ... (time passes) ...
        at org.apache.axis.wsdl.fromJava.Types.createElementWithAnonymousType(Types.java:1712)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:411)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:346)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1796)

There don't seem to be any logging hooks in this code... guess it is time to move over to the -dev list...

cheers,
    -mik


Jay Glanville wrote:
I've got a deployed service which is perfectly functional, 
but for which 
the ?wsdl option fails with a simple "Exception - 
java.lang.StackOverflowError" message (without a stack dump 
or any other 
information).  The tomcat/catalina logs are similarly 
unhelpful.  Also 
interesting is that java2wsdl doesn't seem to have any 
problem with the 
(undeployed) service.

So questions:
- any debugging suggestions?  I know how to get the servlet to use my 
wsdl document instead of generating it, but it would be nice to know 
that something else isn't wrong.
- what is it that "?wsdl" is doing that is different than java2wsdl?
    


I recently had to deal with a similar problem.  It turns out that one of
my beanMapping beans had an infinite recursion in it's equals() method.
I believe that the equals was being called as part of the auto-WSDL
generation.  I found out which bean was causing the problem by removing
all beanMapping and typeMapping entries, and then adding them back one
by one.

So, the problem is probably in one of the beans that you're exporting.
At least, that's what was happening to me.

Hope this helps.

JDG
  

Reply via email to