<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:stns1="urn:Services.QueryProductsService.Classes"
                  xmlns:tns="urn:QueryProductsService"
                  xmlns:http="http://schemas.xmlsoap.org/soap/http"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
                  name="QueryProductsService"
                  targetNamespace="urn:QueryProductsService">
   <wsdl:types>
      <xs:schema targetNamespace="urn:Services.QueryProductsService.Classes">
         <xs:complexType name="SearchParameters">
            <xs:all>
               <xs:element name="title" type="xs:string"/>
               <xs:element name="keywords" type="stns1:stringArray"/>
            </xs:all>
         </xs:complexType>
         <xs:complexType name="SearchResult">
            <xs:all>
               <xs:element name="deliveryCharge" type="xs:float"/>
               <xs:element name="exchangeRate" type="xs:float"/>
               <xs:element name="keywords" type="xs:string"/>
               <xs:element name="title" type="xs:string"/>
               <xs:element name="totalAmountCHF" type="xs:float"/>
               <xs:element name="totalAmountUSD" type="xs:float"/>
               <xs:element name="matchingProducts" type="stns1:ProductExtendedArray"/>
            </xs:all>
         </xs:complexType>
         <xs:complexType name="ProductExtended">
            <xs:all>
               <xs:element name="category" type="xs:string"/>
               <xs:element name="link" type="xs:string"/>
               <xs:element name="manufacturer" type="xs:string"/>
               <xs:element name="priceUSD" type="xs:float"/>
               <xs:element name="seller" type="xs:string"/>
               <xs:element name="title" type="xs:string"/>
               <xs:element name="type" type="xs:string"/>
               <xs:element name="priceCHF" type="xs:float"/>
            </xs:all>
         </xs:complexType>
         <xs:complexType name="stringArray">
            <xs:complexContent>
               <xs:restriction base="soapenc:Array">
                  <xs:attribute ref="soapenc:arrayType" wsdl:arrayType="xs:string[]"/>
               </xs:restriction>
            </xs:complexContent>
         </xs:complexType>
         <xs:complexType name="ProductExtendedArray">
            <xs:complexContent>
               <xs:restriction base="soapenc:Array">
                  <xs:attribute ref="soapenc:arrayType" wsdl:arrayType="stns1:ProductExtended[]"/>
               </xs:restriction>
            </xs:complexContent>
         </xs:complexType>
      </xs:schema>
   </wsdl:types>
   <wsdl:message name="QueryProductsPortType_queryProducts_Request">
      <wsdl:part name="userInput" type="stns1:SearchParameters"/>
   </wsdl:message>
   <wsdl:message name="QueryProductsPortType_queryProducts_Response">
      <wsdl:part name="searchResult" type="stns1:SearchResult"/>
   </wsdl:message>
   <wsdl:portType name="QueryProductsPortType">
      <wsdl:documentation>The port type provides an operation to query an XML file containing product data.
The search result is displayed in the client application.</wsdl:documentation>
      <wsdl:operation name="queryProducts">
         <wsdl:documentation>The operation defines an interface to query an XML file containing product data.
An object containing the search parameters is passed in. An object containing the
search result is returned.</wsdl:documentation>
         <wsdl:input message="tns:QueryProductsPortType_queryProducts_Request"/>
         <wsdl:output message="tns:QueryProductsPortType_queryProducts_Response"/>
      </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="QueryProductsPortType_SOAPBinding" type="tns:QueryProductsPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="queryProducts">
         <soap:operation soapAction=""/>
         <wsdl:input>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                       namespace="urn:Services.QueryProductsService.Ports.QueryProductsPortType"
                       use="encoded"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                       namespace="urn:Services.QueryProductsService.Ports.QueryProductsPortType"
                       use="encoded"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="QueryProductsService">
      <wsdl:port binding="tns:QueryProductsPortType_SOAPBinding" name="QueryProductsPortType">
         <soap:address location="http://localhost:10013/QueryProductsService/QueryProductsPortType"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>