Alternatively, you could define it as (changes in red):

           <xsd:element name="a">
               <xsd:complexType>
                   <xsd:sequence>
                       <xsd:element minOccurs="0" name="str"
type="xsd:string" />
                       <xsd:element minOccurs="0" name="num" type="xsd:int"
/>
                   </xsd:sequence>
               </xsd:complexType>
           </xsd:element>

  <xsd:element name="b">
      <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="unbounded"
<!--name="p"--> ref="ns1:a"/>
         </xsd:sequence>
      </xsd:complexType>
  </xsd:element>

The problem with your original declaration is that your type reference
pointed to an element rather than a type.
Raghu resolved the problem by converting the "a" element declaration into a
type definition. I resolved it by changing your type reference into an
element reference.

Anne

On 6/21/07, Raghu Upadhyayula <[EMAIL PROTECTED]> wrote:

 Hi Chris,



            Try changing your wsdl as shown below in blue



Thanks

Raghu


 ------------------------------

*From:* Chris Shah [mailto:[EMAIL PROTECTED]
*Sent:* Wednesday, June 20, 2007 7:33 PM
*To:* [email protected]
*Subject:* Array in axis 2



I am writing a doc literal wsdl. I have an issue with creating an array of
objects. I have an element 'a' and another element 'b' which is an array of
objects 'a'. WSDL2JAVA gives me



WARNING: Type {http://sample.com/}a missing!



Here are the wsdl snippets:



            <xsd:element name="a">
                <xsd:complexType name="a">
                    <xsd:sequence>
                        <xsd:element minOccurs="0" name="str"
type="xsd:string" />
                        <xsd:element minOccurs="0" name="num"
type="xsd:int" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>



   <xsd:element name="b">
       <xsd:complexType>
           <xsd:sequence>
             <xsd:element minOccurs="0" maxOccurs="unbounded" name="p"
type="ns1:a"/>
          </xsd:sequence>
       </xsd:complexType>
   </xsd:element>



ns1 is defined in the definitions as xmlns:ns1="http://mysample.com/";



If I specify type="a", that doesn't work either and I get the same
warning.



ANy help will be appreciated.



TIA

Cris








 ------------------------------

Fussy? Opinionated? Impossible to please? Perfect. Join Yahoo!'s user
panel<http://us.rd.yahoo.com/evt=48516/*http:/surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7%20>and
 lay it on us.

Reply via email to