<?xml version="1.0" encoding="UTF-8"?>
<wsdl2:description xmlns:wsdl2="http://www.w3.org/ns/wsdl" xmlns:tns="http://axis2.apache.org" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:wrpc="http://www.w3.org/ns/wsdl/rpc" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsdlx="http://www.w3.org/ns/wsdl-extensions" xmlns:ax21="http://axis2.apache.org/xsd" xmlns:ns="http://axis2.apache.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:whttp="http://www.w3.org/ns/wsdl/http" targetNamespace="http://axis2.apache.org">
    <wsdl2:types>
        <xs:schema xmlns:ax23="http://axis2.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://axis2.apache.org">
            <xs:import namespace="http://axis2.apache.org/xsd"/>
            <xs:complexType name="Exception">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:anyType"/>
                </xs:sequence>
            </xs:complexType>
            <xs:element name="StudentAlreadyExistsException">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="StudentAlreadyExistsException" nillable="true" type="ax21:StudentAlreadyExistsException"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="addStudent">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="student" nillable="true" type="ax21:Student"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="addStudentResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="StudentNotFoundException">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="StudentNotFoundException" nillable="true" type="ax21:StudentNotFoundException"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="updateStudent">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="student" nillable="true" type="ax21:Student"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="updateStudentResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getStudentsResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getStudent">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getStudentResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax21:Student"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="deleteStudent">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema xmlns:ax22="http://axis2.apache.org" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://axis2.apache.org/xsd">
            <xs:import namespace="http://axis2.apache.org"/>
            <xs:complexType name="StudentAlreadyExistsException">
                <xs:complexContent>
                    <xs:extension base="ax22:Exception">
                        <xs:sequence/>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:complexType name="Student">
                <xs:sequence>
                    <xs:element minOccurs="0" name="age" type="xs:int"/>
                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="subjects" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="StudentNotFoundException">
                <xs:complexContent>
                    <xs:extension base="ax22:Exception">
                        <xs:sequence/>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
        </xs:schema>
    </wsdl2:types>
    
    <wsdl2:interface name="ServiceInterface">
        <wsdl2:fault name="StudentNotFoundException" element="ns:StudentNotFoundException"/>
        <wsdl2:fault name="StudentAlreadyExistsException" element="ns:StudentAlreadyExistsException"/>
        <wsdl2:operation name="deleteStudent" pattern="http://www.w3.org/ns/wsdl/robust-in-only">
            <wsdl2:input element="ns:deleteStudent" wsaw:Action="urn:deleteStudent"/>
            <wsdl2:outfault ref="tns:StudentNotFoundException" wsaw:Action="urn:deleteStudentStudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation name="updateStudent" style="http://www.w3.org/ns/wsdl/style/rpc" wrpc:signature="student #in return #return " pattern="http://www.w3.org/ns/wsdl/in-out">
            <wsdl2:input element="ns:updateStudent" wsaw:Action="urn:updateStudent"/>
            <wsdl2:output element="ns:updateStudentResponse" wsaw:Action="urn:updateStudentResponse"/>
            <wsdl2:outfault ref="tns:StudentNotFoundException" wsaw:Action="urn:updateStudentStudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation name="getStudent" style="http://www.w3.org/ns/wsdl/style/rpc" wrpc:signature="name #in return #return " pattern="http://www.w3.org/ns/wsdl/in-out">
            <wsdl2:input element="ns:getStudent" wsaw:Action="urn:getStudent"/>
            <wsdl2:output element="ns:getStudentResponse" wsaw:Action="urn:getStudentResponse"/>
            <wsdl2:outfault ref="tns:StudentNotFoundException" wsaw:Action="urn:getStudentStudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation name="addStudent" style="http://www.w3.org/ns/wsdl/style/rpc" wrpc:signature="student #in return #return " pattern="http://www.w3.org/ns/wsdl/in-out">
            <wsdl2:input element="ns:addStudent" wsaw:Action="urn:addStudent"/>
            <wsdl2:output element="ns:addStudentResponse" wsaw:Action="urn:addStudentResponse"/>
            <wsdl2:outfault ref="tns:StudentAlreadyExistsException" wsaw:Action="urn:addStudentStudentAlreadyExistsException"/>
        </wsdl2:operation>
        <wsdl2:operation name="getStudents" pattern="http://www.w3.org/ns/wsdl/in-out">
            <wsdl2:input element="#none" wsaw:Action="urn:getStudents"/>
            <wsdl2:output element="ns:getStudentsResponse" wsaw:Action="urn:getStudentsResponse"/>
        </wsdl2:operation>
    </wsdl2:interface>
    
    <wsdl2:binding name="StudentServiceSoap12Binding" interface="tns:ServiceInterface" type="http://www.w3.org/ns/wsdl/soap" wsoap:version="1.2">
        <wsdl2:fault ref="tns:StudentAlreadyExistsException"/>
        <wsdl2:fault ref="tns:StudentNotFoundException"/>
        <wsdl2:operation ref="tns:deleteStudent" wsoap:action="urn:deleteStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:updateStudent" wsoap:action="urn:updateStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:addStudent" wsoap:action="urn:addStudent">
            <wsdl2:outfault ref="tns:StudentAlreadyExistsException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudent" wsoap:action="urn:getStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudents" wsoap:action="urn:getStudents"/>
    </wsdl2:binding>
    
    <wsdl2:binding name="StudentServiceHttpBinding" interface="tns:ServiceInterface" whttp:methodDefault="POST" type="http://www.w3.org/ns/wsdl/http">
        <wsdl2:fault ref="tns:StudentAlreadyExistsException"/>
        <wsdl2:fault ref="tns:StudentNotFoundException"/>
        <wsdl2:operation ref="tns:deleteStudent" whttp:location="deleteStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:updateStudent" whttp:location="updateStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:addStudent" whttp:location="addStudent">
            <wsdl2:outfault ref="tns:StudentAlreadyExistsException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudent" whttp:location="getStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudents" whttp:location="getStudents"/>
    </wsdl2:binding>
    
    <wsdl2:binding name="StudentServiceSoap11Binding" interface="tns:ServiceInterface" type="http://www.w3.org/ns/wsdl/soap" wsoap:version="1.1">
        <wsdl2:fault ref="tns:StudentAlreadyExistsException"/>
        <wsdl2:fault ref="tns:StudentNotFoundException"/>
        <wsdl2:operation ref="tns:deleteStudent" wsoap:action="urn:deleteStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:updateStudent" wsoap:action="urn:updateStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:addStudent" wsoap:action="urn:addStudent">
            <wsdl2:outfault ref="tns:StudentAlreadyExistsException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudent" wsoap:action="urn:getStudent">
            <wsdl2:outfault ref="tns:StudentNotFoundException"/>
        </wsdl2:operation>
        <wsdl2:operation ref="tns:getStudents" wsoap:action="urn:getStudents"/>
    </wsdl2:binding>
    
    <wsdl2:service name="StudentService" interface="tns:ServiceInterface">
        <wsdl2:endpoint name="StudentServiceHttpEndpoint" binding="tns:StudentServiceHttpBinding" address="http://localhost:8080/axis2/services/StudentService"/>
        <wsdl2:endpoint name="StudentServiceHttpSoap11Endpoint" binding="tns:StudentServiceSoap11Binding" address="http://localhost:8080/axis2/services/StudentService"/>
        <wsdl2:endpoint name="StudentServiceHttpSoap12Endpoint" binding="tns:StudentServiceSoap12Binding" address="http://localhost:8080/axis2/services/StudentService"/>
    </wsdl2:service>
</wsdl2:description>

