Dear,
I've been having the same problems of the recursive data types with the
0.95 version.
I just downloaded the SVN source and built it, but the problem does not
seem to be solved, at least not for my case...
To make sure that we're talking about the same issue, the following is
the piece that gives problems:
<xsd:complexType name="abc">
<xsd:sequence>
<xsd:element name="abcName" type="xsd:string" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="previousABC" nillable="true"
type="typesMetadata:abc" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
When changing
type="typesMetadata:abc"
to
type="xsd:string"
the stackoverflow error disappears. So I guess it comes down to the
recursive data types issue...
thanks in advance,
Michael...
On 04/03/06 06:14, Ajith Ranabahu wrote:
Hi Diego
The patch is already inplace and things should work now (I even added
a test case). Please check with the latest source.
On 4/1/06, Diego <[EMAIL PROTECTED]> wrote:
Hi Tore,
there is a jira for this issue:
http://issues.apache.org/jira/browse/AXIS2-523
and the thread by Chuck and Ajith:
[Axis2 0.95] Recursive data types and choice particles.
The issue arises because recursive data types definitions in the wsdl
are not handled properly. You can find a patch in the thread and in the
jira.
Cheers,
Diego
[EMAIL PROTECTED] wrote:
Hi,
I can confirm Diego's report on this issue. I have several wsdl's in my code
tree. All of them worked well with axis2 wsdl2java up to a 0.95-SNAPSHOT
build by me march 13th. It worked well using the 0.95-SNAPSHOT build from
march 2nd.
The only thing that differs between the wsdl's are the size in terms of
operations and the complexity of the types. I got StackOverflowError on the
biggest one even on a 0.96-SNAPHOT from yesterday.
Best regards
Tore Larsen
Senior Software Engineer
Comptel Communication AS
e-mail : [EMAIL PROTECTED]
-----Original Message-----
From: Diego [mailto:[EMAIL PROTECTED]
Sent: 26. mars 2006 03:31
To: [email protected]
Subject: [axis2 v0.95] wsdl2java stack overflow
Hi everybody,
using axis2 v0.95 wsdl2java I got a stack overflow exception with the
following wsdl file. The same wsdl file worked fine with all the previous
axis and axis2 versions.
Thanks a lot for you help!
Diego
=================================================================
ant target
=================================================================
<target name="wsdl2java-astrodas-peer">
<java classname="org.apache.axis2.wsdl.WSDL2Code"
classpathref="axis2.classpath">
<arg value="-uri" />
<arg value="${astrodas-peer.wsdl}" />
<arg value="-o" />
<arg value="${basedir}" />
<arg value="-p" />
<arg value="org.astrodas.ws.peer" />
<arg value="-d"/>
<arg value="xmlbeans" />
</java>
</target>
=================================================================
exception
=================================================================
wsdl2java-astrodas-peer:
[java] Retrieving schema at
'http://www.ivoa.net/xml/VOTable/v1.1', relative to
'file:/Users/diego/Babylon/java/workspace/astrodas-test2/wsdl/'.
[java] java.lang.StackOverflowError
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:180)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
[java] at
org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
[java] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at
org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
[java] at
org.apache.tools.ant.Project.executeTarget(Project.java:1185)
[java] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.ja
va:40)
[java] at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:668)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:187)
[java] at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
[java] at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
[java] Caused by: java.lang.StackOverflowError
[java] --- Nested Exception ---
[java] java.lang.StackOverflowError
=================================================================
wsdl file
=================================================================
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://astrodas.org/ws/peer"
xmlns:tns="http://astrodas.org/ws/peer"
xmlns:tns1="http://astrodas.org/ws/model"
xmlns:tns2="http://www.ivoa.net/xml/VOTable/v1.1"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://astrodas.org/ws/model">
<xsd:import namespace="http://www.w3.org/2001/XMLSchema" />
<xsd:import namespace="http://www.ivoa.net/xml/VOTable/v1.1"
schemaLocation="http://www.ivoa.net/xml/VOTable/v1.1" />
<!--
Standard axis mappings from wsdl to java
========================================
xsd:base64Binary byte[]
xsd:boolean boolean
xsd:byte byte
xsd:dateTime java.util.Calendar
xsd:decimal java.math.BigDecimal
xsd:double double
xsd:float float
xsd:hexBinary byte[]
xsd:int int
xsd:integer java.math.BigInteger
xsd:long long
xsd:QName javax.xml.namespace.QName
xsd:short short
xsd:string java.lang.String
-->
<!-- insertMappingAnnotations -->
<xsd:complexType name="external-object">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id"
type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="external-id"
type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="1" name="external-db"
type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="match"
type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="annotation">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="id"
type="xsd:integer" />
<xsd:element minOccurs="0" maxOccurs="1" name="type"
type="xsd:string" />
<xsd:element minOccurs="1" maxOccurs="1" name="author"
type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1" name="timestamp"
type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="mapping-annotation">
<xsd:complexContent mixed="false">
<xsd:extension base="tns1:annotation">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded"
name="external-object" type="tns1:external-object" />
<xsd:element minOccurs="0" maxOccurs="1" name="text"
type="xsd:string" />
<xsd:element minOccurs="0" maxOccurs="1"
name="reliability" type="xsd:float" />
<xsd:element minOccurs="0" maxOccurs="1" name="ra-mean"
type="xsd:double" />
<xsd:element minOccurs="0" maxOccurs="1" name="dec-mean"
type="xsd:double" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="insertMappingAnnotations">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="unbounded"
name="mapping-annotation" type="tns1:mapping-annotation" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="insertMappingAnnotationsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="result"
type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!-- executeGlobalMappingTableQuery -->
<xsd:element name="executeGlobalMappingTableQuery">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="query"
type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="executeGlobalMappingTableQueryResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" ref="tns2:VOTABLE" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<!-- insertMappingAnnotations -->
<wsdl:message name="insertMappingAnnotationsMessage">
<wsdl:part name="body" element="tns1:insertMappingAnnotations" />
</wsdl:message>
<wsdl:message name="insertMappingAnnotationsResponseMessage">
<wsdl:part name="body" element="tns1:insertMappingAnnotationsResponse" />
</wsdl:message>
<!-- executeGlobalMappingTableQuery -->
<wsdl:message name="executeGlobalMappingTableQueryMessage">
<wsdl:part name="body" element="tns1:executeGlobalMappingTableQuery" />
</wsdl:message>
<wsdl:message name="executeGlobalMappingTableQueryResponseMessage">
<wsdl:part name="body"
element="tns1:executeGlobalMappingTableQueryResponse" />
</wsdl:message>
<wsdl:portType name="AstrodasPeer">
<wsdl:operation name="insertMappingAnnotations">
<wsdl:documentation>Stores an array of annotations in the annotation
backend database</wsdl:documentation>
<wsdl:input message="tns:insertMappingAnnotationsMessage" />
<wsdl:output message="tns:insertMappingAnnotationsResponseMessage" />
</wsdl:operation>
<wsdl:operation name="executeGlobalMappingTableQuery">
<wsdl:documentation>Executes a query on the global mapping table of the
p2p network of annotation</wsdl:documentation>
<wsdl:input message="tns:executeGlobalMappingTableQueryMessage" />
<wsdl:output
message="tns:executeGlobalMappingTableQueryResponseMessage" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AstrodasPeerBinding" type="tns:AstrodasPeer">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<wsdl:operation name="insertMappingAnnotations">
<soap:operation soapAction="insertMappingAnnotations" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="executeGlobalMappingTableQuery">
<soap:operation soapAction="executeGlobalMappingTableQuery" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="astrodas-peer">
<wsdl:port name="astrodas-peer" binding="tns:AstrodasPeerBinding">
<soap:address
location="http://localhost:8080/axis2/services/astrodas-peer" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
Ajith Ranabahu
--
Michael Meire
Katholieke Universiteit Leuven
Dept. Computer Science
Celestijnenlaan 200A, A03.33
B-3001 Leuven, Belgium
Tel: +32 16 327660
Fax: +32 16 327996