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

<!--
	September 14, 2002

	(c) Copyright 2002, The Web Services-Interoperability Organization (WS-I)
	Download or use of this file is governed by the Policies and Bylaws of WS-I.

	For more information, send email info@ws-i.org. 	
-->

<wsdl:definitions 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	xmlns:c="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.wsdl" 
	xmlns:ct="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd" 
	xmlns:wh="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.xsd" 
	xmlns:tns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl" 
	targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/">

	<wsdl:documentation>
      This WSDL document describes the Warehouse service for the WS-I Basic Sample Application. This service
      is part of a supply chain management system. It is used to demonstrate a web service that is
      conformant with the Basic Profile and to show how different web service platforms can interoperate.
	</wsdl:documentation>

	<wsdl:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.wsdl" location="Configuration.wsdl"/>

	
	<wsdl:types>
	  <xs:schema>
	    <xs:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd" schemaLocation="Configuration.xsd"/>
	    <xs:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.xsd" schemaLocation="Warehouse.xsd"/>
	  </xs:schema>
	</wsdl:types>

	<wsdl:message name="ShipGoodsRequest">
		<wsdl:part name="ItemList" type="wh:ItemList"/>
		<wsdl:part name="Customer" type="wh:CustomerReferenceType"/>
		<wsdl:part name="ConfigurationHeader" element="ct:Configuration"/>
	</wsdl:message>

	<wsdl:message name="ShipGoodsResponse">
		<wsdl:documentation>
        A response of true indicates the goods have been shipped. A response of false
        indicates the warehouse either does not carry that part or does not have enough stock to
        fill the requested quantity.
 		</wsdl:documentation>
		<wsdl:part name="Response" type="wh:ItemShippingStatusList"/>
	</wsdl:message>

	<wsdl:portType name="WarehouseShipmentsPortType">
		<wsdl:operation name="ShipGoods">
			<wsdl:documentation>Ship the specified number of the specified part to the specified customer.</wsdl:documentation>
			<wsdl:input message="tns:ShipGoodsRequest"/>
			<wsdl:output message="tns:ShipGoodsResponse"/>
			<wsdl:fault name="ConfigurationFault" message="c:ConfigurationFaultMessage"/>
		</wsdl:operation>
	</wsdl:portType>

	<wsdl:binding name="WarehouseSoapBinding" type="tns:WarehouseShipmentsPortType">
		<wsdl:documentation>
			<wsi:Claim conformsTo="http://ws-i.org/profiles/basic1.0/" />
	    </wsdl:documentation>
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
		<wsdl:operation name="ShipGoods">
			<soap:operation 
				soapAction="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"/>
			<wsdl:input>
				<soap:body use="literal" 
					namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"
					parts="ItemList Customer" />
				<soap:header message="tns:ShipGoodsRequest" part="ConfigurationHeader" use="literal">
					<soap:headerfault message="c:ConfigurationFaultMessage" part="ConfigurationFault" use="literal" />
				</soap:header>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" 
					namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
</wsdl:definitions>
<!-- The following is an example of a SOAP request message compliant with the above WSDL:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/envelope/">
  <s:Header>
    <h:Configuration 
		xmlns:h="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd">
      <h:UserId>8bf7ec9a-f3b2-4f39-9807-c55c860a5983</h:UserId>
      <h:ServiceUrl Role="WarehouseA">http://www.ws-i.org/BasicSampleApp/WarehouseA</h:ServiceUrl>
      <h:ServiceUrl Role="LoggingFacility">http://www.ws-i.org/BasicSampleApp/LoggingFacility</h:ServiceUrl>
      <h:ServiceUrl Role="WarehouseC">http://www.ws-i.org/BasicSampleApp/WarehouseC</h:ServiceUrl>
      <h:ServiceUrl Role="Retailer">http://www.ws-i.org/BasicSampleApp/Retailer</h:ServiceUrl>
      <h:ServiceUrl Role="WarehouseB">http://www.ws-i.org/BasicSampleApp/WarehouseB</h:ServiceUrl>
      <h:ServiceUrl Role="ManufacturerA">http://www.ws-i.org/BasicSampleApp/ManufacturerA</h:ServiceUrl>
      <h:ServiceUrl Role="ManufacturerB">http://www.ws-i.org/BasicSampleApp/ManufacturerB</h:ServiceUrl>
      <h:ServiceUrl Role="ManufacturerC">http://www.ws-i.org/BasicSampleApp/ManufacturerC</h:ServiceUrl>
    </h:Configuration>
  </s:Header>
  <s:Body>
    <ns1:ShipGoods xmlns:ns1="http://www,ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"
		xmlns:ns2="http://www,ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.xsd">
	<ItemList>
	   <ns2:Item>
	      <ns2:ProductNumber>605006</ns2:ProductNumber>
      	<ns2:Quantity>23</ns2:Quantity>
	   </ns2:Item>
	   <ns2:Item>
	      <ns2:ProductNumber>605007</ns2:ProductNumber>
      	<ns2:Quantity>22</ns2:Quantity>
	   </ns2:Item>
	</ItemList>
      <Customer>D22845-W8N349Y-tky</Customer>
    </ns1:ShipGoods>
  </s:Body>
</s:Envelope>

The following is an example of a SOAP response message that is compliant with the WSDL:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/envelope/">
  <s:Body>
    <ns1:ShipGoodsResponse xmlns:ns1="http://www,ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"
		xmlns:ns2="http://www,ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.xsd">
	<Response>
	   <ns2:ItemStatus>
	      <ns2:ProductNumber>605006</ns2:ProductNumber>
	      <ns2:Status>false</ns2:Status>
	   </ns2:ItemStatus>
	   <ns2:ItemStatus>
	      <ns2:ProductNumber>605007</ns2:ProductNumber>
	      <ns2:Status>true</ns2:Status>
	   </ns2:ItemStatus>
	</Response>
    </ns1:ShipGoodsResponse>
  </s:Body>
</s:Envelope>

-->
