users@jax-ws.java.net

Recursive references in WSDL types

From: Ryan LeCompte <Ryan.LeCompte_at_pangonetworks.com>
Date: Tue, 10 Jan 2006 10:03:38 -0500

Hello all,

 

I'd like to seek any advice anyone can give me regarding recursive
references in WSDL types. Does anyone see any potential problems with
the following:

 

<xsd:complexType name="Node">

    <xsd:sequence>

            <xsd:element name="nodeName" type="xsd:string" minOccurs="1"
maxOccurs="1"/>

            <xsd:element name="nodeParent" type="types:Node"
minOccurs="1" maxOccurs="1"/>

            <xsd:element name="nodeChildren" type="types:Node"
minOccurs="0" maxOccurs="unbounded"/>


    </xsd:sequence>

</xsd:complexType>

 

Notice in the above complex type that there is a single parent of type
"Node" as well as an array of children of type Node. Can most web
service stacks (JAX-WS, .NET, etc.) properly parse and handle such
"recursive" definitions? Should I try to steer away from such
definitions to avoid interoperability issues?

 

Thanks!

 

Ryan