blob: ca11207f3a805ca0f57523bcbde04581b22c921f [file] [log] [blame]
<?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:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:cb="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer/CallBack"
xmlns:ct="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd"
xmlns:cfg="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.wsdl"
xmlns:po="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerPO.xsd"
xmlns:sn="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerSN.xsd"
xmlns:tns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer.wsdl"
targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer.wsdl">
<wsdl:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.wsdl"
location="Configuration.wsdl"/>
<wsdl:types>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified">
<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-10/ManufacturerPO.xsd" schemaLocation="ManufacturerPO.xsd"/>
<xs:import namespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerSN.xsd" schemaLocation="ManufacturerSN.xsd"/>
</xs:schema>
<xs:schema targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer/CallBack" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="StartHeader" type="cb:StartHeaderType"/>
<xs:element name="CallbackHeader" type="cb:CallbackHeaderType"/>
<xs:element name="CallbackFault" type="cb:CallbackFaultType"/>
<xs:complexType name="StartHeaderType">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="conversationID" type="xs:string"/>
<xs:element minOccurs="1" maxOccurs="1" name="callbackLocation" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CallbackHeaderType">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="conversationID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CallbackFaultType">
<xs:sequence>
<xs:element name="Reason">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="notFound"/>
</xs:restriction>
</xs:simpleType>
<xs:element minOccurs="1" maxOccurs="1" name="conversationID" type="xs:string"/>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="POSubmit">
<wsdl:documentation>
A purchase order.
</wsdl:documentation>
<wsdl:part name="PurchaseOrder" element="po:PurchaseOrder"/>
<wsdl:part name="ConfigurationHeader" element="ct:Configuration"/>
<wsdl:part name="StartHeader" element="cb:StartHeader"/>
</wsdl:message>
<wsdl:message name="ackPO">
<wsdl:documentation>
A response of true indicates the purchase order has been accepted for processing.
</wsdl:documentation>
<wsdl:part name="Response" element="po:ackPO"/>
</wsdl:message>
<wsdl:message name="submitPOFault">
<wsdl:documentation>
A reason code for the rejection of a given PO that can be matched through the conversationID
in the callback section of the SOAP header.
</wsdl:documentation>
<wsdl:part name="POFault" element="po:submitPOFault"/>
</wsdl:message>
<wsdl:message name="SNSubmit">
<wsdl:documentation>
A shipment notification.
</wsdl:documentation>
<wsdl:part name="ShipmentNotice" element="sn:ShipmentNotice"/>
<wsdl:part name="ConfigurationHeader" element="ct:Configuration"/>
<wsdl:part name="CallbackHeader" element="cb:CallbackHeader"/>
</wsdl:message>
<wsdl:message name="processPOFault">
<wsdl:documentation>
Alternative to SNSubmit, indicates a reason for the rejection of a given PO after
having been acknowledged by the Manufacturer. Contains callback information with
which to find the original replenishment request.
</wsdl:documentation>
<wsdl:part name="processPOFault" element="po:submitPOFault"/>
<wsdl:part name="ConfigurationHeader" element="ct:Configuration"/>
<wsdl:part name="CallbackHeader" element="cb:CallbackHeader"/>
</wsdl:message>
<wsdl:message name="ackSN">
<wsdl:documentation>
A response of true indicates the shipment notice has been accepted for processing.
</wsdl:documentation>
<wsdl:part name="Response" element="sn:ackSN"/>
</wsdl:message>
<wsdl:message name="Callback">
<wsdl:documentation>
To be used in SOAP headers for relating two req/resp message pairs sent asynchronously.
The CallbackFault indicates a reason for the rejection of the second req/resp pair.
</wsdl:documentation>
<wsdl:part name="CallbackFault" element="cb:CallbackFault"/>
</wsdl:message>
<wsdl:portType name="ManufacturerPortType">
<wsdl:operation name="submitPO">
<wsdl:documentation>Submit a purchase order for specified items to the manufacturer.</wsdl:documentation>
<wsdl:input message="tns:POSubmit"/>
<wsdl:output message="tns:ackPO"/>
<wsdl:fault name="POFault" message="tns:submitPOFault"/>
<wsdl:fault name="ConfigurationFault" message="cfg:ConfigurationFaultMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="WarehouseCallbackPortType">
<wsdl:operation name="submitSN">
<wsdl:documentation>Submit a shipment notice for specified items to the retailer.</wsdl:documentation>
<wsdl:input message="tns:SNSubmit"/>
<wsdl:output message="tns:ackSN"/>
<wsdl:fault name="ConfigurationFault" message="cfg:ConfigurationFaultMessage"/>
<wsdl:fault name="CallbackFault" message="tns:Callback"/>
</wsdl:operation>
<wsdl:operation name="errorPO">
<wsdl:documentation>Notify warehouse there was an error in processing a submitted PO.</wsdl:documentation>
<wsdl:input message="tns:processPOFault"/>
<wsdl:output message="tns:ackPO"/>
<wsdl:fault name="ConfigurationFault" message="cfg:ConfigurationFaultMessage"/>
<wsdl:fault name="CallbackFault" message="tns:Callback"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ManufacturerSoapBinding" type="tns:ManufacturerPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="submitPO">
<soap:operation/>
<wsdl:input>
<soap:body parts="PurchaseOrder" use="literal"/>
<soap:header message="tns:POSubmit" part="ConfigurationHeader" use="literal">
<soap:headerfault message="cfg:ConfigurationFaultMessage" part="ConfigurationFault" use="literal" />
</soap:header>
<soap:header message="tns:POSubmit" part="StartHeader" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="POFault">
<soap:fault use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="WarehouseCallbackSoapBinding" type="tns:WarehouseCallbackPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="submitSN">
<soap:operation/>
<wsdl:input>
<soap:body parts="ShipmentNotice" use="literal"/>
<soap:header message="tns:SNSubmit" part="ConfigurationHeader" use="literal">
<soap:headerfault message="cfg:ConfigurationFaultMessage" part="ConfigurationFault" use="literal" />
</soap:header>
<soap:header message="tns:SNSubmit" part="CallbackHeader" use="literal">
<soap:headerfault message="tns:Callback" part="CallbackFault" use="literal"/>
</soap:header>
</wsdl:input>
<wsdl:output>
<soap:body parts="Response" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="errorPO">
<soap:operation/>
<wsdl:input>
<soap:body parts="processPOFault" use="literal"/>
<soap:header message="tns:processPOFault" part="CallbackHeader" use="literal">
<soap:headerfault message="tns:Callback" part="CallbackFault" use="literal"/>
</soap:header>
</wsdl:input>
<wsdl:output>
<soap:body parts="Response" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:documentation>
This WSDL document describes the Manufacturer 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:definitions>
<!-- The following is an example of a SOAP request message compliant with the above WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:Configuration xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd">
<ns1:UserId>Some user ID</ns1:UserId>
<ns1:ServiceUrl Role="LoggingFacility">http://localhost:999/WS-I_Sample/services/LoggingFacility</ns1:ServiceUrl>
<ns1:ServiceUrl Role="Retailer">http://localhost:999/WS-I_Sample/services/Retailer</ns1:ServiceUrl>
<ns1:ServiceUrl Role="WarehouseA">http://localhost:999/WS-I_Sample/services/WarehouseA</ns1:ServiceUrl>
<ns1:ServiceUrl Role="WarehouseB">http://localhost:999/WS-I_Sample/services/WarehouseB</ns1:ServiceUrl>
<ns1:ServiceUrl Role="WarehouseC">http://localhost:999/WS-I_Sample/services/WarehouseC</ns1:ServiceUrl>
<ns1:ServiceUrl Role="ManufacturerA">http://localhost:999/WS-I_Sample/services/ManufacturerA</ns1:ServiceUrl>
<ns1:ServiceUrl Role="ManufacturerB">http://localhost:999/WS-I_Sample/services/ManufacturerB</ns1:ServiceUrl>
<ns1:ServiceUrl Role="ManufacturerC">http://localhost:999/WS-I_Sample/services/ManufacturerC</ns1:ServiceUrl>
</ns1:Configuration>
<ns2:StartHeader xmlns:ns2="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer/CallBack">
<ns2:conversationID>1</ns2:conversationID>
<ns2:callbackLocation>http://localhost:999/WS-I_Sample/services/WarehouseCallBack</ns2:callbackLocation>
</ns2:StartHeader>
</soapenv:Header>
<soapenv:Body>
<PurchaseOrder xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerPO.xsd">
<orderNum>1</orderNum>
<customerRef>ABCD999999999EFG</customerRef>
<items>
<Item>
<ID>605002</ID>
<qty>18</qty>
<price>100.0</price>
</Item>
</items>
<total>0.0</total>
</PurchaseOrder>
</soapenv:Body>
</soapenv:Envelope>
and the reply from the Manufacturer:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ackPO xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerPO.xsd">true</ackPO>
</soapenv:Body>
</soapenv:Envelope>
and the callback request:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:CallbackHeader xmlns:ns1="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer/CallBack">
<ns1:conversationID>1</ns1:conversationID>
</ns1:CallbackHeader>
<ns2:Configuration xmlns:ns2="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd">
<ns2:UserId>Some user ID</ns2:UserId>
<ns2:ServiceUrl Role="LoggingFacility">http://localhost:999/WS-I_Sample/services/LoggingFacility</ns2:ServiceUrl>
<ns2:ServiceUrl Role="Retailer">http://localhost:999/WS-I_Sample/services/Retailer</ns2:ServiceUrl>
<ns2:ServiceUrl Role="WarehouseA">http://localhost:999/WS-I_Sample/services/WarehouseA</ns2:ServiceUrl>
<ns2:ServiceUrl Role="WarehouseB">http://localhost:999/WS-I_Sample/services/WarehouseB</ns2:ServiceUrl>
<ns2:ServiceUrl Role="WarehouseC">http://localhost:999/WS-I_Sample/services/WarehouseC</ns2:ServiceUrl>
<ns2:ServiceUrl Role="ManufacturerA">http://localhost:999/WS-I_Sample/services/ManufacturerA</ns2:ServiceUrl>
<ns2:ServiceUrl Role="ManufacturerB">http://localhost:999/WS-I_Sample/services/ManufacturerB</ns2:ServiceUrl>
<ns2:ServiceUrl Role="ManufacturerC">http://localhost:999/WS-I_Sample/services/ManufacturerC</ns2:ServiceUrl>
</ns2:Configuration>
</soapenv:Header>
<soapenv:Body>
<ShipmentNotice xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerSN.xsd">
<shipNum>1</shipNum>
<orderNum>1</orderNum>
<customerRef>ABCD999999999EFG</customerRef>
<items>
<Item>
<ID>605002</ID>
<qty>18</qty>
<price>100.0</price>
</Item>
</items>
<total>0.0</total>
</ShipmentNotice>
</soapenv:Body>
</soapenv:Envelope>
and the Callback reply:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ackSN xmlns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/ManufacturerSN.xsd">true</ackSN>
</soapenv:Body>
</soapenv:Envelope>
-->