Arquivo VideoRental.xml

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="VideoRentalStoreService"
             targetNamespace="http://www.ime.usp.br/SOD06"
             xmlns:tns="http://www.ime.usp.br/SOD06"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

    <types>
        <schema targetNamespace="http://www.ime.usp.br/SOD06"
                xmlns:tns="http://www.ime.usp.br/SOD06"
                xmlns="http://www.w3.org/2001/XMLSchema"
                elementFormDefault="qualified"
                attributeFormDefault="unqualified">
            <!-- RentalService types. -->
            <complexType name="MovieInfo">
                <sequence>
                    <element name="Id" type="xsd:int" />
                    <element name="Name" type="xsd:string" nillable="true" />
                    <element name="Year" type="xsd:short" />
                    <element name="Director" type="xsd:string" nillable="true" />
                    <element name="Duration" type="xsd:short" />
                    <element name="Cast" type="tns:StringArray" nillable="true" />
                    <element name="Genre" type="tns:StringArray" nillable="true" />
                    <element name="InStoreCopies" type="tns:IntArray" nillable="true" />
                    <element name="RentedCopies" type="tns:RentedMovieCopyInfoArray" nillable="true" />
                </sequence>
            </complexType>
            <complexType name="RentedMovieCopyInfo">
                <sequence>
                    <element name="CustomerName" type="xsd:string" nillable="true" />
                    <element name="CustomerPhone" type="xsd:string" nillable="true" />
                    <element name="MovieCopyId" type="xsd:int" />
                    <element name="ReturnDate" type="tns:Date" nillable="true" />
                </sequence>
            </complexType>
            <complexType name="Date">
                <sequence>
                    <element name="Day" type="xsd:short" />
                    <element name="Month" type="xsd:short" />
                    <element name="Year" type="xsd:short" />
                </sequence>
            </complexType>
            <complexType name="StringArray">
                <sequence>
                    <element name="Entry" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="IntArray">
                <sequence>
                    <element name="Entry" type="xsd:int" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="MovieInfoArray">
                <sequence>
                    <element name="Entry" type="tns:MovieInfo" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="RentedMovieCopyInfoArray">
                <sequence>
                    <element name="Entry" type="tns:RentedMovieCopyInfo" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <!-- Exception types. -->
            <complexType name="NotFoundExceptionType">
                <sequence>
                    <element name="Detail" type="xsd:string" nillable="true" />
                </sequence>
            </complexType>
            <element name="NotFoundException" type="tns:NotFoundExceptionType" />
            <complexType name="AlreadyRentedExceptionType">
                <sequence>
                    <element name="Detail" type="xsd:string" nillable="true" />
                </sequence>
            </complexType>
            <element name="AlreadyRentedException" type="tns:AlreadyRentedExceptionType" />
            <complexType name="NotRentedExceptionType">
                <sequence>
                    <element name="Detail" type="xsd:string" nillable="true" />
                </sequence>
            </complexType>
            <element name="NotRentedException" type="tns:NotRentedExceptionType" />
            <complexType name="InvalidMovieCopyIdExceptionType">
                <sequence>
                    <element name="Detail" type="xsd:string" nillable="true" />
                </sequence>
            </complexType>
            <element name="InvalidMovieCopyIdException" type="tns:InvalidMovieCopyIdExceptionType" />
            <complexType name="InvalidCustomerIdExceptionType">
                <sequence>
                    <element name="Detail" type="xsd:string" nillable="true" />
                </sequence>
            </complexType>
            <element name="InvalidCustomerIdException" type="tns:InvalidCustomerIdExceptionType" />
            <!-- Document message types. -->
            <element name="EndRentalRequest">
                <complexType>
                    <sequence>
                        <element name="Id" type="xsd:int" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByDirectorRequest">
                <complexType>
                    <sequence>
                        <element name="Name" type="xsd:string" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByDirectorResponse">
                <complexType>
                    <sequence>
                        <element name="MovieInfo" type="tns:MovieInfo" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByGenreAndYearRequest">
                <complexType>
                    <sequence>
                        <element name="Genre" type="xsd:string" />
                        <element name="Year" type="xsd:short" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByGenreAndYearResponse">
                <complexType>
                    <sequence>
                        <element name="MovieInfo" type="tns:MovieInfo" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByIdRequest">
                <complexType>
                    <sequence>
                        <element name="Id" type="xsd:int" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByIdResponse">
                <complexType>
                    <sequence>
                        <element name="MovieInfo" type="tns:MovieInfo" nillable="true" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByNameRequest">
                <complexType>
                    <sequence>
                        <element name="Name" type="xsd:string" />
                    </sequence>
                </complexType>
            </element>
            <element name="FindMovieByNameResponse">
                <complexType>
                    <sequence>
                        <element name="MovieInfo" type="tns:MovieInfo" nillable="true" minOccurs="0" maxOccurs="unbounded" />
                    </sequence>
                </complexType>
            </element>
            <element name="StartRentalRequest">
                <complexType>
                    <sequence>
                        <element name="MovieCopyId" type="xsd:int" />
                        <element name="CustomerId" type="xsd:int" />
                        <element name="ReturnDate" type="tns:Date" />
                    </sequence>
                </complexType>
            </element>
        </schema>
    </types>
    <!-- Exception messages. -->
    <message name="NotFoundExceptionMessage">
        <part name="detail" element="tns:NotFoundException" />
    </message>
    <message name="AlreadyRentedExceptionMessage">
        <part name="detail" element="tns:AlreadyRentedException" />
    </message>
    <message name="NotRentedExceptionMessage">
        <part name="detail" element="tns:NotRentedException" />
    </message>
    <message name="InvalidMovieCopyIdExceptionMessage">
        <part name="detail" element="tns:InvalidMovieCopyIdException" />
    </message>
    <message name="InvalidCustomerIdExceptionMessage">
        <part name="detail" element="tns:InvalidCustomerIdException" />
    </message>
    <!-- RentalService RPC messages. -->
    <message name="RentalServiceRPC_endRental">
        <part name="movieCopyId" type="xsd:int" />
    </message>
    <message name="RentalServiceRPC_endRentalResponse" />
    <message name="RentalServiceRPC_findMovieByDirector">
        <part name="name" type="xsd:string" />
    </message>
    <message name="RentalServiceRPC_findMovieByDirectorResponse">
        <part name="result" type="tns:MovieInfoArray" />
    </message>
    <message name="RentalServiceRPC_findMovieByGenreAndYear">
        <part name="genre" type="xsd:string" />
        <part name="year" type="xsd:short" />
    </message>
    <message name="RentalServiceRPC_findMovieByGenreAndYearResponse">
        <part name="result" type="tns:MovieInfoArray" />
    </message>
    <message name="RentalServiceRPC_findMovieById">
        <part name="id" type="xsd:int" />
    </message>
    <message name="RentalServiceRPC_findMovieByIdResponse">
        <part name="result" type="tns:MovieInfo" />
    </message>
    <message name="RentalServiceRPC_findMovieByName">
        <part name="name" type="xsd:string" />
    </message>
    <message name="RentalServiceRPC_findMovieByNameResponse">
        <part name="result" type="tns:MovieInfoArray" />
    </message>
    <message name="RentalServiceRPC_startRental">
        <part name="movieCopyId" type="xsd:int" />
        <part name="customerId" type="xsd:int" />
        <part name="returnDate" type="tns:Date" />
    </message>
    <message name="RentalServiceRPC_startRentalResponse" />
    <!-- RentalService document messages. -->
    <message name="RentalServiceDoc_endRentalRequest">
        <part name="param" element="tns:EndRentalRequest" />
    </message>
    <message name="RentalServiceDoc_endRentalResponse" />
    <message name="RentalServiceDoc_findMovieByDirectorRequest">
        <part name="param" element="tns:FindMovieByDirectorRequest" />
    </message>
    <message name="RentalServiceDoc_findMovieByDirectorResponse">
        <part name="result" element="tns:FindMovieByDirectorResponse" />
    </message>
    <message name="RentalServiceDoc_findMovieByGenreAndYearRequest">
        <part name="param" element="tns:FindMovieByGenreAndYearRequest" />
    </message>
    <message name="RentalServiceDoc_findMovieByGenreAndYearResponse">
        <part name="result" element="tns:FindMovieByGenreAndYearResponse" />
    </message>
    <message name="RentalServiceDoc_findMovieByIdRequest">
        <part name="param" element="tns:FindMovieByIdRequest" />
    </message>
    <message name="RentalServiceDoc_findMovieByIdResponse">
        <part name="result" element="tns:FindMovieByIdResponse" />
    </message>
    <message name="RentalServiceDoc_findMovieByNameRequest">
        <part name="param" element="tns:FindMovieByNameRequest" />
    </message>
    <message name="RentalServiceDoc_findMovieByNameResponse">
        <part name="result" element="tns:FindMovieByNameResponse" />
    </message>
    <message name="RentalServiceDoc_startRentalRequest">
        <part name="param" element="tns:StartRentalRequest" />
    </message>
    <message name="RentalServiceDoc_startRentalResponse" />

    <!-- RentalService RPC port type. -->
    <portType name="RentalServiceRPC">
        <operation name="endRental" parameterOrder="movieCopyId">
            <input message="tns:RentalServiceRPC_endRental" />
            <output message="tns:RentalServiceRPC_endRentalResponse" />
            <fault name="InvalidMovieCopyIdException" message="tns:InvalidMovieCopyIdExceptionMessage" />
            <fault name="NotRentedException" message="tns:NotRentedExceptionMessage" />
        </operation>
        <operation name="findMovieByDirector" parameterOrder="name">
            <input message="tns:RentalServiceRPC_findMovieByDirector" />
            <output message="tns:RentalServiceRPC_findMovieByDirectorResponse" />
        </operation>
        <operation name="findMovieByGenreAndYear" parameterOrder="genre year">
            <input message="tns:RentalServiceRPC_findMovieByGenreAndYear" />
            <output message="tns:RentalServiceRPC_findMovieByGenreAndYearResponse" />
        </operation>
        <operation name="findMovieById" parameterOrder="id">
            <input message="tns:RentalServiceRPC_findMovieById" />
            <output message="tns:RentalServiceRPC_findMovieByIdResponse" />
            <fault name="NotFoundException" message="tns:NotFoundExceptionMessage" />
        </operation>
        <operation name="findMovieByName" parameterOrder="name">
            <input message="tns:RentalServiceRPC_findMovieByName" />
            <output message="tns:RentalServiceRPC_findMovieByNameResponse" />
        </operation>
        <operation name="startRental" parameterOrder="movieCopyId customerId returnDate">
            <input message="tns:RentalServiceRPC_startRental" />
            <output message="tns:RentalServiceRPC_startRentalResponse" />
            <fault name="InvalidMovieCopyIdException" message="tns:InvalidMovieCopyIdExceptionMessage" />
            <fault name="AlreadyRentedException" message="tns:AlreadyRentedExceptionMessage" />
            <fault name="InvalidCustomerIdException" message="tns:InvalidCustomerIdExceptionMessage" />
        </operation>
    </portType>
    <!-- RentalService document port type. -->
    <portType name="RentalServiceDoc">
        <operation name="endRental">
            <input message="tns:RentalServiceDoc_endRentalRequest" />
            <output message="tns:RentalServiceDoc_endRentalResponse" />
            <fault name="InvalidMovieCopyIdException" message="tns:InvalidMovieCopyIdExceptionMessage" />
            <fault name="NotRentedException" message="tns:NotRentedExceptionMessage" />
        </operation>
        <operation name="findMovieByDirector">
            <input message="tns:RentalServiceDoc_findMovieByDirectorRequest" />
            <output message="tns:RentalServiceDoc_findMovieByDirectorResponse" />
        </operation>
        <operation name="findMovieByGenreAndYear">
            <input message="tns:RentalServiceDoc_findMovieByGenreAndYearRequest" />
            <output message="tns:RentalServiceDoc_findMovieByGenreAndYearResponse" />
        </operation>
        <operation name="findMovieById">
            <input message="tns:RentalServiceDoc_findMovieByIdRequest" />
            <output message="tns:RentalServiceDoc_findMovieByIdResponse" />
            <fault name="NotFoundException" message="tns:NotFoundExceptionMessage" />
        </operation>
        <operation name="findMovieByName">
            <input message="tns:RentalServiceDoc_findMovieByNameRequest" />
            <output message="tns:RentalServiceDoc_findMovieByNameResponse" />
        </operation>
        <operation name="startRental">
            <input message="tns:RentalServiceDoc_startRentalRequest" />
            <output message="tns:RentalServiceDoc_startRentalResponse" />
            <fault name="InvalidMovieCopyIdException" message="tns:InvalidMovieCopyIdExceptionMessage" />
            <fault name="AlreadyRentedException" message="tns:AlreadyRentedExceptionMessage" />
            <fault name="InvalidCustomerIdException" message="tns:InvalidCustomerIdExceptionMessage" />
        </operation>
    </portType>

    <!-- RentalServiceRPC SOAP/HTTP binding. -->
    <binding name="RentalServiceRPCBinding" type="tns:RentalServiceRPC">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
        <operation name="endRental">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
            <fault name="InvalidMovieCopyIdException">
                <soap:fault use="literal" name="InvalidMovieCopyIdException" />
            </fault>
            <fault name="NotRentedException">
                <soap:fault use="literal" name="NotRentedException" />
            </fault>
        </operation>
        <operation name="findMovieByDirector">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
        </operation>
        <operation name="findMovieByGenreAndYear">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
        </operation>
        <operation name="findMovieById">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
            <fault name="NotFoundException">
                <soap:fault use="literal" name="NotFoundException" />
            </fault>
        </operation>
        <operation name="findMovieByName">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
        </operation>
        <operation name="startRental">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </input>
            <output>
                <soap:body use="literal" namespace="http://www.ime.usp.br/SOD06" />
            </output>
            <fault name="InvalidMovieCopyIdException">
                <soap:fault use="literal" name="InvalidMovieCopyIdException" />
            </fault>
            <fault name="AlreadyRentedException">
                <soap:fault use="literal" name="AlreadyRentedException" />
            </fault>
            <fault name="InvalidCustomerIdException">
                <soap:fault use="literal" name="InvalidCustomerIdException" />
            </fault>
        </operation>
    </binding>
    <!-- RentalServiceDoc SOAP/HTTP binding. -->
    <binding name="RentalServiceDocBinding" type="tns:RentalServiceDoc">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
        <operation name="endRental">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
            <fault name="InvalidMovieCopyIdException">
                <soap:fault use="literal" name="InvalidMovieCopyIdException" />
            </fault>
            <fault name="NotRentedException">
                <soap:fault use="literal" name="NotRentedException" />
            </fault>
        </operation>
        <operation name="findMovieByDirector">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
        </operation>
        <operation name="findMovieByGenreAndYear">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
        </operation>
        <operation name="findMovieById">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
            <fault name="NotFoundException">
                <soap:fault use="literal" name="NotFoundException" />
            </fault>
        </operation>
        <operation name="findMovieByName">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
        </operation>
        <operation name="startRental">
            <soap:operation soapAction="" />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
            <fault name="InvalidMovieCopyIdException">
                <soap:fault use="literal" name="InvalidMovieCopyIdException" />
            </fault>
            <fault name="AlreadyRentedException">
                <soap:fault use="literal" name="AlreadyRentedException" />
            </fault>
            <fault name="InvalidCustomerIdException">
                <soap:fault use="literal" name="InvalidCustomerIdException" />
            </fault>
        </operation>
    </binding>

    <service name="VideoRentalStoreService">
        <port name="RentalServiceRPCPort" binding="tns:RentalServiceRPCBinding">
            <soap:address location="REPLACE_WITH_ACTUAL_URL" />
        </port>
        <port name="RentalServiceDocPort" binding="tns:RentalServiceDocBinding">
            <soap:address location="REPLACE_WITH_ACTUAL_URL" />
        </port>
    </service>

</definitions>

Last modified: Fri May 26 00:15:44 EST 2006