Wilfred,

try using something like

        <xsd:complexType name="MySequence">
                <xsd:sequence>
                        <xsd:element name="entity" type="ta:Entity"
minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
        </xsd:complexType>

I use this and it works fine (however I do use Castor to do the mapping for
me, i.e. use a Serializer/Deserializer)

Brian.
-----Original Message-----
From: Wilfred Springer [mailto:[EMAIL PROTECTED]]
Sent: 31 January 2003 07:29
To: [EMAIL PROTECTED]
Subject: Re: [Fwd: [Fwd: Need a work-around for missing xsd:list
support]]


It doesn't work this way:

      <xsd:simpleType name="AgreementType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Grip"/>
          <xsd:enumeration value="BusinessSelect"/>
          <xsd:enumeration value="FlexibelCompany"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="AgreementTypeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <attribute ref="soapenc:arrayType"
              wsdl:arrayType="tns:AgreementType"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="AgreementType">
        <xsd:annotation>
          <xsd:documentation>Defines the possible valid values for
AgreementType</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Grip"/>
          <xsd:enumeration value="BusinessSelect"/>
          <xsd:enumeration value="FlexibelCompany"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="AgreementTypeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <attribute ref="soapenc:arrayType"
              wsdl:arrayType="tns:AgreementType"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>

in this case AgreementTypeArray is turned into a class without any
accessors. So it seems useless. (I think this is supposed to work. Maybe
it is a bug?)

This however *does* work. I tried it before, but without cleaning my
build directory, so it seemed I still got the AgreementTypeArray.
Thanks.

      <xsd:simpleType name="AgreementType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Grip"/>
          <xsd:enumeration value="BusinessSelect"/>
          <xsd:enumeration value="FlexibelCompany"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="AgreementTypeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:sequence>
              <xsd:element name="agreementTypes"
                type="tns:AgreementType"
                maxOccurs="unbounded"/>
            </xsd:sequence>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>


On Thu, 2003-01-30 at 18:05, Benjamin Tomasini wrote:
> Why not just use a typed array?  Collection interfaces generally loose
> their meaning over an RPC call as they are dependant on implementations
> that are hidden from the interface.
> 
> Ben
> 
> On Thu, 2003-01-30 at 12:02, Wilfred Springer wrote:
> > 
> > -- 
> > ________________________________________________________________
> > Wilfred Springer               Phone  : +31 (0)3 3451 5736
> > Java Architect                 Mobile : +31 (0)6 2295 7321
> > Sun Java Center                Fax    : +31 (0)3 3451 5734
> > Sun Microsystems Netherlands   Mail   : [EMAIL PROTECTED]
> > ----
> > 
> 
> > From: Wilfred Springer <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: [Fwd: Need a work-around for missing xsd:list support]
> > Date: 30 Jan 2003 17:50:21 +0000
> > 
> > 
> > -- 
> > Wilfred Springer <[EMAIL PROTECTED]>
> > ----
> > 
> 
> > From: Wilfred Springer <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Need a work-around for missing xsd:list support
> > Date: 30 Jan 2003 16:42:44 +0000
> > 
> > Hi all,
> > 
> > <xsd:simpleType name="FooBarType">
> > <xsd:restriction base="xsd:string">
> > <xsd:enumeration value="foo"/>
> > <xsd:enumeration value="bar"/>
> > </xsd:restriction>
> > </xsl:simpleType>
> > 
> > <xsd:simpleType name="FooBarTypeList">
> > <xsd:list itemType="FooBarType"/>
> > </xsd:simpleType>
> > 
> > I browsed through the mailing list and noticed that some people already
> > discovered that this doesn't work. So I need a workaround. The problem
> > is, no matter how hard I try, I can't come up with a proper solution.
> > 
> > I tried several things, like:
> > 
> > <xsd:complexType name="FooBarTypeList">
> > <xsd:element
> >     maxOccurs="unbounded"
> >     name="fooBarType"
> >     type="FooBarType"/>
> > </xsd:complexType>
> > 
> > And several other options found in the JAXRPC spec, like specifying
> > soap:Array as a restriction etc.
> > 
> > Nothing works. The wsdl2java ant task will never generate something
> > useful. (Most of the time, it will generate a class called
> > FooBarTypeList containing no accessors at all.)
> > 
> > Please! Help me out!
> > 
> > -- 
> > Wilfred Springer <[EMAIL PROTECTED]>
> 
> 
-- 
________________________________________________________________
Wilfred Springer               Phone  : +31 (0)3 3451 5736
Java Architect                 Mobile : +31 (0)6 2295 7321
Sun Java Center                Fax    : +31 (0)3 3451 5734
Sun Microsystems Netherlands   Mail   : [EMAIL PROTECTED]


**************************************************************************
The information contained in this e-mail is confidential,
may be privileged and is intended only for the use of the
recipient named above. If you are not the intended
recipient or a representative of the intended recipient,
you have received this e-mail in error and must not copy,
use or disclose the contents of this email to anybody
else. If you have received this e-mail in error, please
notify the sender immediately by return e-mail and
permanently delete the copy you received. This email has
been swept for computer viruses. However, you should
carry out your own virus checks.


Registered in Ireland, No. 205721. http://www.FINEOS.com
**************************************************************************

Reply via email to