<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ws.sosnoski.com/order/wsdl/StoreService" xmlns:ns1="http://ws.sosnoski.com/order/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.sosnoski.com/order/wsdl/StoreService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <wsdl:types>
    <xs:schema elementFormDefault="qualified" targetNamespace="http://ws.sosnoski.com/order/wsdl" xmlns:ns1="http://ws.sosnoski.com/order/data" xmlns:tns="http://ws.sosnoski.com/order/wsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:import namespace="http://ws.sosnoski.com/order/data" schemaLocation="data.xsd"/>
      <xs:element name="placeOrder">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="order" type="ns1:order"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="placeOrderResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="id" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="retrieveOrder">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="id" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="retrieveOrderResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="return" type="ns1:order"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="cancelOrder">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="id" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="cancelOrderResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="return" type="xs:boolean"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="cancelOrderMessage">
    <wsdl:part name="part" element="ns1:cancelOrder">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="cancelOrderResponseMessage">
    <wsdl:part name="part" element="ns1:cancelOrderResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="placeOrderResponseMessage">
    <wsdl:part name="part" element="ns1:placeOrderResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="placeOrderMessage">
    <wsdl:part name="part" element="ns1:placeOrder">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="retrieveOrderResponseMessage">
    <wsdl:part name="part" element="ns1:retrieveOrderResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="retrieveOrderMessage">
    <wsdl:part name="part" element="ns1:retrieveOrder">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="StoreServicePortType">
<wsdl:documentation>Interface for placing orders and checking status.</wsdl:documentation>
    <wsdl:operation name="placeOrder">
<wsdl:documentation>Submit a new order.</wsdl:documentation>
      <wsdl:input message="tns:placeOrderMessage">
    </wsdl:input>
      <wsdl:output message="tns:placeOrderResponseMessage">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="retrieveOrder">
<wsdl:documentation>Retrieve order information.</wsdl:documentation>
      <wsdl:input message="tns:retrieveOrderMessage">
    </wsdl:input>
      <wsdl:output message="tns:retrieveOrderResponseMessage">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="cancelOrder">
<wsdl:documentation>Cancel order. This can only be used for orders which have not been shipped.</wsdl:documentation>
      <wsdl:input message="tns:cancelOrderMessage">
    </wsdl:input>
      <wsdl:output message="tns:cancelOrderResponseMessage">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="StoreServiceBinding" type="tns:StoreServicePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="placeOrder">
      <soap:operation soapAction="urn:placeOrder"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="retrieveOrder">
      <soap:operation soapAction="urn:retrieveOrder"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="cancelOrder">
      <soap:operation soapAction="urn:cancelOrder"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="StoreService">
    <wsdl:port name="StoreServicePort" binding="tns:StoreServiceBinding">
      <soap:address location="http://localhost:8080/axis2/services/StoreService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
