Found the answer, will describe it here to help others.  I couldn't find 
mention of these classes in the main XmlBeans Javadocs 
(http://xmlbeans.apache.org/docs/2.2.0/reference/index.html), but the two 
classes you need to use are:

SchemaWSDLArrayType
SOAPArrayType

The trick is to get a SchemaLocalAttribute reference to the SOAP-encoding array 
you're interested in; how you get this reference will depend on how you're 
managing your schema information, but I was able to get it from the attribute 
model of the container type of my SchemaProperty.  

Then, cast that object to SchemaWSDLArrayType, and call getWSDLArrayType() on 
it to get a SOAPArrayType reference.  From this reference you can find out all 
the information you want about the array.

I can't claim full credit for this solution, I found it on the docjar website, 
which has Javadocs for SchemaWSDLArrayType 
(http://www.docjar.org/docs/api/org/apache/xmlbeans/soap/SchemaWSDLArrayType.html).

Hope that helps someone.

- Vance


> -------- Original Message --------
> Subject: SOAP-encoding arrays
> From: Vance Vagell <[EMAIL PROTECTED]>
> Date: Tue, May 22, 2007 12:19 pm
> To: [email protected]
> 
> Hi folks,
> 
> Similar to Aleksander Slominski's question in 2004
> (http://mail-archives.apache.org/mod_mbox/xml-xmlbeans-dev/200403.mbox/[EMAIL 
> PROTECTED]),
> I'm trying to use XmlBeans to parse web service schemas, some of which
> include a special construct for arrays.  I've worked out how to
> implement this in my project, but there is one piece of data I can't
> seem to retrieve.  Here is an example from the Google search web
> service schema:
> 
>       <xsd:complexType name="ResultElementArray">
>         <xsd:complexContent>
>           <xsd:restriction base="soapenc:Array">
>              <xsd:attribute ref="soapenc:arrayType"
> wsdl:arrayType="typens:ResultElement[]"/>
>           </xsd:restriction>
>         </xsd:complexContent>
>       </xsd:complexType>
> 
> How can I access the value of the wsdl:arrayType attribute of this
> <xsd:attribute> definition?  I have both the SchemaProperty and the
> SchemaType defining this attribute, but can't find an accessor on
> either that can get me this information.  With the value of that
> wsdl:arrayType attribute, I can take care of the rest.
> 
> The response from Radu to Aleksander was interesting, but I'm
> performing all of this work dynamically at runtime, and not using
> XmlBeans to generate classes from schemas.  So rather than using a
> SchemaCodePrinter to get at this, I need to be able to get this info
> from the SchemaProperty or SchemaType object.
> 
> Any ideas?
> 
> Thanks,
> Vance
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to