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

    Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<wsdl:definitions 
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:cfg="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd"
     xmlns:cfgw="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.wsdl"
      xmlns:cat="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailCatalog.xsd" 
    xmlns:order="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd"    
      xmlns:tns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl" 
targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl" 
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" 
     >

<wsdl:documentation>
    This WSDL document describes the Retailer 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/RetailCatalog.xsd" schemaLocation="RetailCatalog.xsd"/>
	    <xs:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd"   schemaLocation="RetailOrder.xsd"/>
	    <xs:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd" schemaLocation="Configuration.xsd"/>
	  </xs:schema>
	</wsdl:types>
	
	<wsdl:message name="getCatalogRequest" />
	<wsdl:message name="getCatalogResponse">
		<wsdl:part name="return" type="cat:CatalogType">
			<wsdl:documentation>the product catalog</wsdl:documentation>
		</wsdl:part>
	</wsdl:message>
	<wsdl:message name="submitOrderRequest">
		<wsdl:part name="PartsOrder" type="order:PartsOrderType"><wsdl:documentation>XML structure holding product/quantity pairs</wsdl:documentation></wsdl:part>
		<wsdl:part name="CustomerDetails" type="order:CustomerDetailsType"/>
		<wsdl:part name="ConfigurationHeader" element="cfg:Configuration"/>
	</wsdl:message>
	<wsdl:message name="submitOrderResponse">
		<wsdl:part name="return" type="order:PartsOrderResponseType">
			<wsdl:documentation>XML structure holding product/quantity ordered pairs, with optional failure message</wsdl:documentation>
		</wsdl:part>
	</wsdl:message>
	<wsdl:message name="BadOrderFault"/>
	<wsdl:message name="InvalidProductCodeFault">
		<wsdl:part name="InvalidProductCode" element="order:InvalidProductCode"/>
	</wsdl:message>
	
	<wsdl:portType name="RetailerPortType">
		<wsdl:operation name="getCatalog">
			<wsdl:documentation>returns a product catalog</wsdl:documentation>
			<wsdl:input message="tns:getCatalogRequest" name="getCatalogRequest"/>
			<wsdl:output message="tns:getCatalogResponse" name="getCatalogResponse"/>
		</wsdl:operation>
		<wsdl:operation name="submitOrder">
			<wsdl:documentation>Accept an order for quantities of multiple products</wsdl:documentation>
			<wsdl:input message="tns:submitOrderRequest" name="submitOrderRequest"/>
			<wsdl:output message="tns:submitOrderResponse" name="submitOrderResponse"/>
			<wsdl:fault name="BadOrder" message="tns:BadOrderFault"/>
			<wsdl:fault name="InvalidProductCode" message="tns:InvalidProductCodeFault"/>
			<wsdl:fault name="ConfigurationFault" message="cfgw:ConfigurationFaultMessage"/>
		</wsdl:operation>
	</wsdl:portType>
	
	<wsdl:binding name="RetailerSoapBinding" type="tns:RetailerPortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="getCatalog">
			<soap:operation soapAction="" style="rpc"/>
			<wsdl:input>
				<soap:body use="literal" namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl"/>
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="submitOrder">
			<soap:operation soapAction="" style="rpc"/>
			<wsdl:input>
				<soap:body use="literal" namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl"
					parts="PartsOrder CustomerDetails" />
				<soap:header message="tns:submitOrderRequest" part="ConfigurationHeader" use="literal" wsdl:required="true" >
          				<soap:headerfault message="cfgw: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/Retailer.wsdl"/>
			</wsdl:output>
			<wsdl:fault name="BadOrder">
				<soap:fault use="literal"/>
			</wsdl:fault>
			<wsdl:fault name="InvalidProductCode">
				<soap:fault use="literal"/>
			</wsdl:fault>
		</wsdl:operation>
	</wsdl:binding>
</wsdl:definitions>


<!-- The following is an example of a getCatalog SOAP request message compliant with the above WSDL:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:getCatalog xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl">
</ns1:getCatalog>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:getCatalogResponse xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl">
<return>
  <Item xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailCatalog.xsd">
    <name>TV,Brand1</name>
    <description>24", Color, Advanced Velocit Scan Modular</description>
    <productNumber>605001</productNumber>
    <category>TV</category>
    <brand>Brand1</brand>
    <price>299.95</price>
  </Item>
  <Item xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailCatalog.xsd">
    <name>TV, Brand2</name>
    <description>32", Super Slim Flat Panel Plasma</description>
    <productNumber>605002</productNumber>
    <category>TV</category>
    <brand>Brand2</brand>
    <price>1499.99</price>
  </Item>
</return>
</ns1:getCatalogResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>



The following is an example of a submitOrder SOAP request message compliant with the above WSDL:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<h:Configuration
	xmlns:h="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd">
  <h:UserId>griddell@bowstreet.com</h:UserId>
  <h:ServiceUrl Role="LoggingFacility">http://example1/SampleApp/SCM/LoggingFacility</h:ServiceUrl>
  <h:ServiceUrl Role="Retailer">http://example2/wsi/soaprpc/wsi/RetailerImpl</h:ServiceUrl>
  <h:ServiceUrl Role="WarehouseA">http://example3/wsi/soaprpc/wsi/WarehouseAImpl</h:ServiceUrl>
  <h:ServiceUrl Role="WarehouseB">http://example4/wsi/soaprpc/wsi/WarehouseBImpl</h:ServiceUrl>
  <h:ServiceUrl Role="WarehouseC">http://example5/wsi/soaprpc/wsi/WarehouseCImpl</h:ServiceUrl>
  <h:ServiceUrl Role="ManufacturerA">http://example6/ws-i_sample/ManufacturerA</h:ServiceUrl>
  <h:ServiceUrl Role="ManufacturerB">http://example7/ws-i_sample/ManufacturerB</h:ServiceUrl>
  <h:ServiceUrl Role="ManufacturerC">http://example8/ws-i_sample/ManufacturerC</h:ServiceUrl>
</h:Configuration>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:submitOrder xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl">
<PartsOrder xmlns:p="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd">
  <p:Item>
    <p:productNumber>605006</p:productNumber>
    <p:quantity>182</p:quantity>
    <p:price>3.99</p:price>
  </p:Item>
  <p:Item><p:productNumber>605002</p:productNumber>
    <p:quantity>4</p:quantity>
    <p:price>3.99</p:price>
    </p:Item>
  <p:Item>
    <p:productNumber>605003</p:productNumber>
    <p:quantity>82</p:quantity>
    <p:price>7.99</p:price>
  </p:Item>
</PartsOrder>
<CustomerDetails xmlns:c="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd"> 
  <c:custnbr>ABCD999999999EFG</c:custnbr>
  <c:name>Joe Bloggs</c:name>
  <c:street1 />
  <c:city />
  <c:state>NH</c:state>
  <c:zip>03870</c:zip>
  <c:country>USA</c:country>
</CustomerDetails>
</ns1:submitOrder>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

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

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:submitOrderResponse xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl">
<return xmlns:ns2="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/RetailOrder.xsd">
  <ns2:Item>
    <ns2:productNumber>605002</ns2:productNumber>
    <ns2:quantity>4</ns2:quantity>
    <ns2:price>3.99</ns2:price>
    <ns2:comment>in stock from WarehouseA</ns2:comment>
  </ns2:Item>
  <ns2:Item>
    <ns2:productNumber>605006</ns2:productNumber>
    <ns2:quantity>0</ns2:quantity>
    <ns2:price>0</ns2:price>
    <ns2:comment>insufficient stock</ns2:comment>
  </ns2:Item>
  <ns2:Item>
    <ns2:productNumber>605003</ns2:productNumber>
    <ns2:quantity>0</ns2:quantity>
    <ns2:price>0</ns2:price>
    <ns2:comment>insufficient stock</ns2:comment>
  </ns2:Item>
</return>
</ns1:submitOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


-->
