<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.5 (http://www.xmlspy.com) by christopher ferris (sun microsystems, inc) -->
<schema targetNamespace="http://www.ebxml.org/namespaces/messageHeader" xmlns:tns="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.w3.org/2000/10/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace" version="1.0">
	<import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://ebxml.org/project_teams/transport/xlink.xsd"/>
	<import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="http://ebxml.org/project_teams/transport/envelope.xsd"/>
	<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://ebxml.org/project_teams/transport/xml_lang.xsd"/>
	<!-- MANIFEST -->
	<element name="Manifest">
		<complexType>
			<sequence>
				<element ref="tns:Reference" maxOccurs="unbounded"/>
				<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<element name="Reference">
		<complexType>
			<sequence>
				<element ref="tns:Schema" minOccurs="0" maxOccurs="unbounded"/>
				<element ref="tns:Description" minOccurs="0" maxOccurs="unbounded"/>
				<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="xlink:type" use="fixed" value="simple"/>
			<attribute ref="xlink:href" use="required"/>
			<attribute ref="xlink:role"/>
		</complexType>
	</element>
	<element name="Schema">
		<complexType>
			<attribute name="location" type="uriReference" use="required"/>
			<attribute name="version" type="tns:non-empty-string"/>
		</complexType>
	</element>
	<!-- MESSAGEHEADER -->
	<element name="MessageHeader">
		<complexType>
			<sequence>
				<element ref="tns:From"/>
				<element ref="tns:To"/>
				<element ref="tns:CPAId"/>
				<element ref="tns:ConversationId"/>
				<element ref="tns:Service"/>
				<element ref="tns:Action"/>
				<element ref="tns:MessageData"/>
				<element ref="tns:QualityOfServiceInfo" minOccurs="0"/>
				<element ref="tns:Description" minOccurs="0" maxOccurs="unbounded"/>
				<element ref="tns:SequenceNumber" minOccurs="0"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<element name="CPAId" type="tns:non-empty-string"/>
	<element name="ConversationId" type="tns:non-empty-string"/>
	<element name="Service" type="tns:non-empty-string"/>
	<element name="Action" type="tns:non-empty-string"/>
	<element name="MessageData">
		<complexType>
			<sequence>
				<element ref="tns:MessageId"/>
				<element ref="tns:Timestamp"/>
				<element ref="tns:RefToMessageId" minOccurs="0"/>
				<element ref="tns:TimeToLive" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="MessageId" type="tns:non-empty-string"/>
	<element name="TimeToLive" type="timeDuration"/>
	<!--
	<element name="TimeToLive" type="duration"/>
	-->
	<element name="QualityOfServiceInfo">
		<complexType>
			<attribute name="deliverySemantics" type="tns:deliverySemantics.type" use="default" value="BestEffort"/>
			<attribute name="messageOrderSemantics" type="tns:messageOrderSemantics.type" use="default" value="NotGuaranteed"/>
			<attribute name="deliveryReceiptRequested" type="tns:signedUnsigned.type" use="default" value="None"/>
		</complexType>
	</element>
	<!-- TRACE HEADER LIST -->
	<element name="TraceHeaderList">
		<complexType>
			<sequence>
				<element ref="tns:TraceHeader" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<element name="TraceHeader">
		<complexType>
			<sequence>
				<element ref="tns:SenderURI"/>
				<element ref="tns:ReceiverURI"/>
				<element ref="tns:Timestamp"/>
				<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="tns:id"/>
		</complexType>
	</element>
	<element name="SenderURI" type="uriReference"/>
	<element name="ReceiverURI" type="uriReference"/>
	<element name="SequenceNumber" type="positiveInteger"/>
	<!-- ACKNOWLEDGEMENT -->
	<element name="Acknowledgment">
		<complexType>
			<sequence>
				<element ref="tns:Timestamp"/>
				<element ref="tns:From" minOccurs="0"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<attribute name="type" type="tns:type.type" use="default" value="DeliveryReceipt"/>
			<attribute name="signed" type="boolean"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<!-- ERROR LIST -->
	<element name="ErrorList">
		<complexType>
			<sequence>
				<element ref="tns:Error" maxOccurs="unbounded"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<attribute name="highestSeverity" type="tns:severity.type" use="default" value="Warning"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<element name="Error">
		<complexType>
			<attribute ref="tns:id"/>
			<attribute name="codeContext" type="uriReference" use="required"/>
			<attribute name="errorCode" type="tns:non-empty-string" use="required"/>
			<attribute name="severity" type="tns:severity.type" use="default" value="Warning"/>
			<attribute name="location" type="tns:non-empty-string"/>
			<attribute ref="xml:lang"/>
			<attribute name="errorMessage" type="tns:non-empty-string"/>
		</complexType>
	</element>
	<!-- STATUS DATA -->
	<element name="StatusData">
		<complexType>
			<sequence>
				<element ref="tns:RefToMessageId"/>
				<element ref="tns:Timestamp" minOccurs="0"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<attribute name="messageStatus" type="tns:messageStatus.type"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<!-- VIA  -->
	<element name="Via">
		<complexType>
			<sequence>
				<element ref="tns:CPAId" minOccurs="0"/>
				<element ref="tns:Service" minOccurs="0"/>
				<element ref="tns:Action" minOccurs="0"/>
			</sequence>
			<attribute ref="tns:id"/>
			<attribute ref="tns:version"/>
			<attribute ref="soap:mustUnderstand"/>
			<attribute ref="soap:actor"/>
			<attribute name="syncReply" type="boolean"/>
			<attribute name="deliveryReceiptRequested" type="tns:signedUnsigned.type" use="default" value="None"/>
			<attribute name="reliableMessagingMethod" type="tns:rmm.type"/>
			<attribute name="ackRequested" type="boolean"/>
			<anyAttribute namespace="http://www.w3.org/2000/10/XMLSchema-instance" processContents="lax"/>
		</complexType>
	</element>
	<!-- COMMON TYPES -->
	<simpleType name="messageStatus.type">
		<restriction base="NMTOKEN">
			<enumeration value="UnAuthorized"/>
			<enumeration value="NotRecognized"/>
			<enumeration value="Received"/>
			<enumeration value="Processed"/>
			<enumeration value="Forwarded"/>
		</restriction>
	</simpleType>
	<simpleType name="type.type">
		<restriction base="NMTOKEN">
			<enumeration value="DeliveryReceipt"/>
			<enumeration value="IntermediateAck"/>
		</restriction>
	</simpleType>
	<simpleType name="messageOrderSemantics.type">
		<restriction base="NMTOKEN">
			<enumeration value="Guaranteed"/>
			<enumeration value="NotGuaranteed"/>
		</restriction>
	</simpleType>
	<simpleType name="deliverySemantics.type">
		<restriction base="NMTOKEN">
			<enumeration value="OnceAndOnlyOnce"/>
			<enumeration value="BestEffort"/>
		</restriction>
	</simpleType>
	<simpleType name="non-empty-string">
		<restriction base="string">
			<minLength value="1"/>
		</restriction>
	</simpleType>
	<simpleType name="rmm.type">
		<restriction base="NMTOKEN">
			<enumeration value="ebXML"/>
			<enumeration value="Transport"/>
		</restriction>
	</simpleType>
	<simpleType name="signedUnsigned.type">
		<restriction base="NMTOKEN">
			<enumeration value="Signed"/>
			<enumeration value="UnSigned"/>
			<enumeration value="None"/>
		</restriction>
	</simpleType>
	<simpleType name="severity.type">
		<restriction base="NMTOKEN">
			<enumeration value="Warning"/>
			<enumeration value="Error"/>
		</restriction>
	</simpleType>
	<!-- COMMON ATTRIBUTES and ELEMENTS -->
	<attribute name="id" type="ID" form="unqualified"/>
	<attribute name="version" type="tns:non-empty-string" use="fixed" value="1.0"/>
	<element name="PartyId">
		<complexType>
			<simpleContent>
				<extension base="tns:non-empty-string">
					<attribute name="type" type="tns:non-empty-string"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name="To">
		<complexType>
			<sequence>
				<element ref="tns:PartyId"/>
			</sequence>
		</complexType>
	</element>
	<element name="From">
		<complexType>
			<sequence>
				<element ref="tns:PartyId"/>
			</sequence>
		</complexType>
	</element>
	<element name="Description">
		<complexType>
			<simpleContent>
				<extension base="tns:non-empty-string">
					<attribute ref="xml:lang"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name="RefToMessageId" type="tns:non-empty-string"/>
	<element name="Timestamp" type="timeInstant"/>
	<!--
	<element name="Timestamp" type="dateTime"/>
	-->
</schema>

