<?xml version="1.0"?>
<wsdl:definitions xmlns:tns="urn:ArrayTest2" xmlns:typens="urn:ArrayTest2" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapy="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:ArrayTest2" name="urn:ArrayTest">
    <wsdl:types>
        <xsd:schema targetNamespace="urn:ArrayTest2" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
            <xsd:complexType name="hobbyArray">
                <xsd:complexContent>
                    <xsd:restriction base="soapenc:Array">
                        <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="petArray">
                <xsd:complexContent>
                    <xsd:restriction base="soapenc:Array">
                        <xsd:sequence>
                            <xsd:element name="alias" type="xsd:string" maxOccurs="unbounded"/>
                        </xsd:sequence>
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="intArray">
                <xsd:complexContent>
                    <xsd:restriction base="soapenc:Array">
                        <xsd:sequence>
                            <xsd:element name="alias" type="xsd:int" maxOccurs="unbounded"/>
                        </xsd:sequence>
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="personalInfo">
                <xsd:sequence>
                    <xsd:element name="name" type="xsd:string"/>
                    <!-- Style 1: Array defined using soapenc:Array -->
                    <xsd:element name="favoriteMovies" type="soapenc:Array"/>
                    <!-- Style 2: Array defined using derivation and wsdl:ArrayType -->
                    <xsd:element name="hobbies" type="typens:hobbyArray"/>
                    <!-- Style 3: Array defined using derivation of soapenc:Array -->
                    <xsd:element name="id" type="typens:intArray"/>
                    <xsd:element name="id2" type="xsd:int"/>
                    <xsd:element name="pets" type="soapy:Vector"/>
                    <!-- Collection defined using sequence of single unbounded element -->
                    <xsd:element name="foods" type="xsd:string" maxOccurs="unbounded"/>
                    <!-- Array of Bytes (nillable=true causes byte[] to become Byte[])-->
                    <xsd:element name="nickName" type="xsd:hexBinary" nillable="true"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>
    <message name="AddEntryRequest">
        <part name="name" type="xsd:string"/>
        <part name="info" type="typens:personalInfo"/>
    </message>
    <message name="GetPersonalInfoFromNameRequest">
        <part name="name" type="xsd:string"/>
    </message>
    <message name="GetPersonalInfoFromNameResponse">
        <part name="info" type="typens:personalInfo"/>
    </message>
    <message name="GetPetsFromNameRequest">
        <part name="name" type="xsd:string"/>
    </message>
    <message name="GetPetsFromNameResponse">
        <part name="pets" type="soapy:Vector"/>
    </message>
    <message name="GetIDFromNameRequest">
        <part name="name" type="xsd:string"/>
    </message>
    <message name="GetIDFromNameResponse">
        <part name="id" type="typens:intArray"/>
    </message>
    <message name="GetID2FromNameRequest">
        <part name="name" type="xsd:string"/>
    </message>
    <message name="GetID2FromNameResponse">
        <part name="id" type="xsd:int"/>
    </message>
    <message name="empty"/>
    <portType name="PersonalInfoBook">
        <operation name="addEntry">
            <input message="tns:AddEntryRequest"/>
            <output message="tns:empty"/>
        </operation>
        <operation name="getPersonalInfoFromName">
            <input message="tns:GetPersonalInfoFromNameRequest"/>
            <output message="tns:GetPersonalInfoFromNameResponse"/>
        </operation>
        <operation name="getPetsFromName">
            <input message="tns:GetPetsFromNameRequest"/>
            <output message="tns:GetPetsFromNameResponse"/>
        </operation>
        <operation name="getIDFromName">
            <input message="tns:GetIDFromNameRequest"/>
            <output message="tns:GetIDFromNameResponse"/>
        </operation>
        <operation name="getID2FromName">
            <input message="tns:GetID2FromNameRequest"/>
            <output message="tns:GetID2FromNameResponse"/>
        </operation>
    </portType>
    <binding name="PersonalInfoBookSOAPBinding" type="tns:PersonalInfoBook">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="addEntry">
            <soap:operation/>
            <input>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </input>
            <output>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </output>
        </operation>
        <operation name="getPersonalInfoFromName">
            <soap:operation/>
            <input>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </input>
            <output>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </output>
        </operation>
        <operation name="getPetsFromName">
            <soap:operation/>
            <input>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </input>
            <output>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </output>
        </operation>
        <operation name="getIDFromName">
            <soap:operation/>
            <input>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </input>
            <output>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </output>
        </operation>
        <operation name="getID2FromName">
            <soap:operation/>
            <input>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </input>
            <output>
                <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:ArrayTest"/>
            </output>
        </operation>
    </binding>
    <service name="PersonalInfoBookService">
        <port name="PersonalInfoBook" binding="tns:PersonalInfoBookSOAPBinding">
            <soap:address location="http://localhost:8080/axis/services/PersonalInfoBook"/>
        </port>
    </service>
</wsdl:definitions>
