<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    targetNamespace="urn:A2IncMemory"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    xmlns:impl="urn:A2IncMemory"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:tns1="http://DefaultNamespace"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics"
    xmlns:rosetta="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/rosetta.owl">

    <wsdl:types>
        <schema targetNamespace="urn:A2IncMemory" xmlns="http://www.w3.org/2001/XMLSchema">
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
            <complexType name="PurchaseOrderRequest">
                <sequence>
                    <element name="globalBusinessIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalBusinessIdentifier"/>
                    <element name="globalProductIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalProductIdentifier"/>
                    <element name="orderQuantity" type="xsd:int" wssem:modelReference="rosetta#OrderQuantity"/>
                </sequence>
            </complexType>
            <complexType name="PurchaseOrderResponse">
                <sequence>
                    <element name="globalProductIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalProductIdentifier"/>
                    <element name="globalVendorIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalBusinessIdentifier"/>
                    <element name="orderQuantity" type="xsd:int" wssem:modelReference="rosetta#OrderQuantity"/> 
                    <element name="productCost" type="xsd:int" wssem:modelReference="rosetta#ProductCost"/>
                </sequence>
            </complexType>
            <complexType name="GetQuoteResponse">
                <sequence>
                    <element name="globalProductIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalProductIdentifier"/>
                    <element name="globalVendorIdentifier" nillable="true" type="soapenc:string" wssem:modelReference="rosetta#GlobalBusinessIdentifier"/>
                    <element name="orderQuantity" type="xsd:int" wssem:modelReference="rosetta#OrderQuantity"/> 
                    <element name="productCost" type="xsd:int" wssem:modelReference="rosetta#ProductCost"/>
                </sequence>
            </complexType>
        </schema>
    </wsdl:types>

    <wsdl:message name="requestMemoryQuoteResponse">
        <wsdl:part name="getQuoteResponsePart" type="xsd:string" wssem:modelReference="rosetta#QuoteConfirmation"/>
    </wsdl:message>

    <wsdl:message name="requestMemoryQuoteRequest">
        <wsdl:part name="getQuoteRequestPart" type="xsd:string" wssem:modelReference="rosetta#QuoteRequest"/>
    </wsdl:message>
    
    <wsdl:message name="orderMemoryResponse">
        <wsdl:part name="purchaseOrderResponsePart" type="tns1:PurchaseOrderResponse" wssem:modelReference="rosetta#PurchaseOrderConfirmation"/>
    </wsdl:message>

    <wsdl:message name="orderMemoryRequest">
        <wsdl:part name="purchaseOrderRequestPart" type="tns1:PurchaseOrderRequest" wssem:modelReference="rosetta#PurchaseOrderRequest"/>
        <wsdl:part name="context" type="xsd:long"/>
    </wsdl:message>


   <wsdl:portType name="A2MemorySupplier">
      <wsdl:operation name="requestMemoryQuote" parameterOrder="in0" wssem:modelReference="rosetta#GetQuote">
         <wsdl:input message="impl:requestMemoryQuoteRequest" name="requestMemoryQuoteRequest"/>
         <wsdl:output message="impl:requestMemoryQuoteResponse" name="requestMemoryQuoteResponse"/>
      </wsdl:operation>
      <wsdl:operation name="orderMemory" parameterOrder="in0" wssem:modelReference="rosetta#RequestPurchaseOrder">
         <wsdl:input message="impl:orderMemoryRequest" name="orderMemoryRequest"/>
         <wsdl:output message="impl:orderMemoryResponse" name="orderMemoryQuoteResponse"/>
      </wsdl:operation>
   </wsdl:portType>
   
<wsdl:binding name="A2MemorySupplierSoapBinding" type="impl:A2MemorySupplier">

      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="requestMemoryQuote">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="requestMemoryQuoteRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:A2IncMemory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="requestMemoryQuoteResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:A2IncMemory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>
      
      <wsdl:operation name="orderMemory">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="orderMemoryRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:A2IncMemory" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="orderMemoryResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:A2IncMemory" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="A1MemorySupplierService">

      <wsdl:port binding="impl:A2MemorySupplierSoapBinding" name="A2MemorySupplier">

         <wsdlsoap:address location="http://localhost:8081/axis2/services/A2MemorySupplier"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>

