blob: d91d713beee0868c283f0bd73b5aa0561907c47c [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
-->
<xs:schema
targetNamespace="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Configuration.xsd"
elementFormDefault="qualified">
<xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/"
schemaLocation="http://schemas.xmlsoap.org/soap/envelope/" />
<xs:annotation>
<xs:documentation>
This schema describes the types needed to describe the header common to all services. This
header is used to pass the configuration of the demo to the various web services, and does not convey
meaning required to implement a Supply Chain Management System.
</xs:documentation>
</xs:annotation>
<xs:simpleType name="ConfigurationEndpointRole">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="LoggingFacility"/>
<xs:enumeration value="Retailer"/>
<xs:enumeration value="WarehouseA"/>
<xs:enumeration value="WarehouseB"/>
<xs:enumeration value="WarehouseC"/>
<xs:enumeration value="ManufacturerA"/>
<xs:enumeration value="ManufacturerB"/>
<xs:enumeration value="ManufacturerC"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ConfigurationEndpointType">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="Role" type="tns:ConfigurationEndpointRole" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="Configuration" type="tns:ConfigurationType"/>
<xs:complexType name="ConfigurationType">
<xs:sequence>
<xs:annotation>
<xs:documentation>
It is left to the application to make sure that this array contains one of each of the
role values enumerated in ConfigurationEndpointType.
</xs:documentation>
</xs:annotation>
<xs:element name="UserId" type="xs:string" nillable="false"/>
<xs:element name="ServiceUrl" type="tns:ConfigurationEndpointType" nillable="false" minOccurs="8" maxOccurs="8"/>
</xs:sequence>
<xs:attribute ref="s:mustUnderstand" use="optional"/>
</xs:complexType>
<xs:element name="ConfigurationFault" type="tns:ConfigurationFaultType" />
<xs:complexType name="ConfigurationFaultType">
<xs:sequence>
<xs:annotation>
<xs:documentation>
It is required that every ServiceUrl that is missing, contains a duplicate, or does not resolve to a
reachable service will be indicated in the ErroneousElement array.
</xs:documentation>
</xs:annotation>
<xs:element name="Message" type="xs:string"/>
<xs:element name="ErroneousElement" type="tns:ConfigurationEndpointRole" minOccurs="0" maxOccurs="8"/>
</xs:sequence>
<xs:attribute ref="s:mustUnderstand"/>
</xs:complexType>
</xs:schema>