<?xml version="1.0" encoding="UTF-8"?>
<!--
	Reverse engineered Offline Instant Messaging webservice WSDL definition
	Part: Service types. (Convience types to use with the web service binding)

	by Javier Kohen <javier.kohen@buddystream.com>
	Latest update: 3 December 2006
-->
<xsd:schema
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns="http://www.hotmail.msn.com/ws/2004/09/oim/rsi"
	xmlns:rsi="http://www.hotmail.msn.com/ws/2004/09/oim/rsi"
	targetNamespace="http://www.hotmail.msn.com/ws/2004/09/oim/rsi"
	version="1.0"
	elementFormDefault="qualified">
	<xsd:annotation>
		<xsd:documentation>
			Copyright 2006 Javier Kohen &lt;javier.kohen@buddystream.com&gt;

			Permission to use, copy, modify and distribute this XML Schema
			and its accompanying documentation for any purpose and without fee
			is hereby granted in perpetuity, provided that the above copyright
			notice and this paragraph appear in all copies.  The copyright
			holders make no representation about the suitability of the XML Schema for
			any purpose. It is provided "as is" without expressed or implied
			warranty.

			This a reverse engineered XML Schema done for interopability purpose.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:annotation>
		<xsd:documentation>
			This XML Schema expose the service types(Convience types to use with the web service binding) of the MSN Offline Instant Messaging Web service
			used by Windows Live Messenger. Microsoft did not disclose the description of
			the web service so we are stuck reverse engineering it. This XML Schema along with the WSDL
			description will automate the generation of a WDSL binding to MSN OIM Web service.
		</xsd:documentation>
	</xsd:annotation>

	<!-- Include MSN OIM RSI data types -->
	<xsd:include schemaLocation="rsi_datatypes.xsd" />

	<xsd:element name="PassportCookie">
		<xsd:annotation>
			<xsd:documentation>
				Objetified representation of the passport cookie obtained from the Passport Live service.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="t" type="xsd:string" />
				<xsd:element name="p" type="xsd:string" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:complexType name="GetMetadataRequestType">
		<xsd:sequence/>
	</xsd:complexType>

	<xsd:element name="GetMetadata" type="GetMetadataRequestType" />

	<xsd:complexType name="GetMetadataResponseType">
		<xsd:sequence>
			<xsd:element name="MD" type="rsi:MetaData"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="GetMetadataResponse" type="GetMetadataResponseType"/>

	<xsd:complexType name="GetMessageRequestType">
		<xsd:sequence>
			<xsd:element name="messageId" type="xsd:string"/>
			<xsd:element name="alsoMarkAsRead" type="xsd:boolean"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="GetMessage" type="GetMessageRequestType" />

	<xsd:complexType name="GetMessageResponseType">
		<xsd:sequence>
			<xsd:element name="GetMessageResult" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="GetMessageResponse" type="GetMessageResponseType"/>

	<xsd:complexType name="DeleteMessagesRequestType">
		<xsd:sequence>
			<xsd:element name="messageIds">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="messageId" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="DeleteMessages" type="DeleteMessagesRequestType" />

	<xsd:complexType name="DeleteMessagesResponseType">
		<xsd:sequence/>
	</xsd:complexType>

	<xsd:element name="DeleteMessagesResponse" type="DeleteMessagesResponseType"/>
</xsd:schema>
