<?xml version="1.0" encoding="utf-8"?>
<!--WS-Reliability Schema Definitions -->
<!-- Copyright (c) 2003 Fujitsu Limited, Sun Microsystems, Oracle Corp.,
     Sonic Software Corp., Hitachi Ltd., and NEC Corp. -->
<xsd:schema targetNamespace="http://schemas.fujitsu.com/rm" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.fujitsu.com/rm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:import schemaLocation="soapenv.xml" namespace="http://schemas.xmlsoap.org/soap/envelope/"/>
	<xsd:simpleType name="RFC2822MessageIdType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:element name="MessageHeader">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ns1:From" minOccurs="0"/>
				<xsd:element ref="ns1:To" minOccurs="0"/>
				<xsd:element ref="ns1:Service" minOccurs="0"/>
				<xsd:element ref="ns1:MessageId"/>
				<xsd:element ref="ns1:Timestamp"/>
			</xsd:sequence>
			<xsd:attribute ref="soap:mustUnderstand" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="From" type="xsd:anyURI"/>
	<xsd:element name="To" type="xsd:anyURI"/>
	<xsd:element name="Service">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:attribute name="type" type="xsd:string" use="optional"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="MessageId" type="ns1:RFC2822MessageIdType"/>
	<xsd:element name="Timestamp" type="xsd:dateTime"/>
	<xsd:element name="ReliableMessage">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MessageType" minOccurs="0">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="Message"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element ref="ns1:ReplyTo"/>
				<xsd:element ref="ns1:TimeToLive" minOccurs="0"/>
				<xsd:element ref="ns1:AckRequested" minOccurs="0"/>
				<xsd:element ref="ns1:DuplicateElimination" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute ref="soap:mustUnderstand" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ReplyTo" type="xsd:anyURI"/>
	<xsd:element name="TimeToLive" type="xsd:dateTime"/>
	<xsd:element name="AckRequested">
		<xsd:complexType>
			<xsd:attribute name="synchronous" type="xsd:boolean" use="optional" default="false"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DuplicateElimination">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="RMResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ResponseType">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="Acknowledgment"/>
							<xsd:enumeration value="Fault"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element ref="ns1:RefToMessageId"/>
			</xsd:sequence>
			<xsd:attribute ref="soap:mustUnderstand" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RefToMessageId" type="ns1:RFC2822MessageIdType"/>
	<xsd:element name="MessageOrder">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ns1:GroupId"/>
				<xsd:element ref="ns1:SequenceNumber"/>
			</xsd:sequence>
			<xsd:attribute ref="soap:mustUnderstand" use="required"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="GroupId">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="ns1:RFC2822MessageIdType">
					<xsd:attribute name="removeAfter" type="xsd:dateTime" use="optional"/>
					<xsd:attribute name="status" type="ns1:SequenceNumberStatusType" use="optional"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:simpleType name="SequenceNumberStatusType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Start"/>
			<xsd:enumeration value="Continue"/>
			<xsd:enumeration value="End"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="SequenceNumber" type="xsd:unsignedLong"/>
	<xsd:element name="rmFault">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="faultcode" type="xsd:QName"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

