<?xml version="1.0" encoding="UTF-8"?>
<!--
	Reverse engineered MSN AddressBook webservice WSDL definition

	by Michaël Larouche <michael.larouche@kdemail.net>
	and Javier Kohen <javier.kohen@buddystream.com>
	Latest update: 27 July 2006
-->
<definitions targetNamespace="http://www.msn.com/webservices/AddressBook"
			xmlns:msnab="http://www.msn.com/webservices/AddressBook"
			xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
			xmlns="http://schemas.xmlsoap.org/wsdl/">

	<types>
		<schema xmlns="http://www.w3.org/2001/XMLSchema">
			<import namespace="http://www.msn.com/webservices/AddressBook" schemaLocation="msnab_servicetypes.xsd" />
		</schema>
	</types>

	<message name="ABHeader">
		<part name="ApplicationHeader" element="msnab:ABApplicationHeader" />
		<part name="AuthHeader" element="msnab:ABAuthHeader" />
	</message>

	<message name="FindMembershipMessage">
		<part name="FindMembershipRequest" element="msnab:FindMembership" />
	</message>

	<message name="ABFindAllMessage">
		<part name="ABFindAllRequest" element="msnab:ABFindAll" />
	</message>

	<message name="ABContactAddMessage">
		<part name="ABContactAddRequest" element="msnab:ABContactAdd" />
	</message>

	<message name="ABGroupContactAddMessage">
		<part name="ABGroupContactAddRequest" element="msnab:ABGroupContactAdd" />
	</message>

	<message name="ABGroupAddMessage">
		<part name="ABGroupAddRequest" element="msnab:ABGroupAdd" />
	</message>

	<message name="ABGroupUpdateMessage">
		<part name="ABGroupUpdateRequest" element="msnab:ABGroupUpdate" />
	</message>

	<message name="ABGroupDeleteMessage">
		<part name="ABGroupDeleteRequest" element="msnab:ABGroupDelete" />
	</message>

	<message name="ABGroupContactDeleteMessage">
		<part name="ABGroupContactDeleteRequest" element="msnab:ABGroupContactDelete" />
	</message>

	<message name="ABContactUpdateMessage">
		<part name="ABContactUpdateRequest" element="msnab:ABContactUpdate" />
	</message>

	<message name="AddMemberMessage">
		<part name="AddMemberRequest" element="msnab:AddMember" />
	</message>

	<message name="DeleteMemberMessage">
		<part name="DeleteMemberRequest" element="msnab:DeleteMember" />
	</message>

	<message name="ServiceHeader">
		<part name="ServiceHeader" element="msnab:ServiceHeader" />
	</message>

	<message name="FindMembershipResponseMessage">
		<part name="FindMembershipResponse" element="msnab:FindMembershipResponse" />
	</message>

	<message name="ABFindAllResponseMessage">
		<part name="ABFindAllResponse" element="msnab:ABFindAllResponse" />
	</message>

	<message name="ABContactAddResponseMessage">
		<part name="ABContactAddResponse" element="msnab:ABContactAddResponse" />
	</message>

	<message name="ABGroupContactAddResponseMessage">
		<part name="ABGroupContactAddResponse" element="msnab:ABGroupContactAddResponse" />
	</message>

	<message name="ABGroupAddResponseMessage">
		<part name="ABGroupAddResponse" element="msnab:ABGroupAddResponse" />
	</message>

	<message name="ABGroupUpdateResponseMessage">
		<part name="ABGroupUpdateResponse" element="msnab:ABGroupUpdateResponse" />
	</message>

	<message name="ABGroupDeleteResponseMessage">
		<part name="ABGroupDeleteResponse" element="msnab:ABGroupDeleteResponse" />
	</message>

	<message name="ABGroupContactDeleteResponseMessage">
		<part name="ABGroupContactDeleteResponse" element="msnab:ABGroupContactDeleteResponse" />
	</message>

	<message name="ABContactUpdateResponseMessage">
		<part name="ABContactUpdateResponse" element="msnab:ABContactUpdateResponse" />
	</message>

	<message name="AddMemberResponseMessage">
		<part name="AddMemberResponse" element="msnab:AddMemberResponse" />
	</message>

	<message name="DeleteMemberResponseMessage">
		<part name="DeleteMemberResponse" element="msnab:DeleteMemberResponse" />
	</message>

	<message name="InvalidPassportUserMessage">
		<part name="fault" element="msnab:InvalidPassportUser"/>
	</message>

	<portType name="SharingServicePortType">
		<operation name="FindMembership">
			<input message="msnab:FindMembershipMessage" />
			<output message="msnab:FindMembershipResponseMessage" />
		</operation>
		<operation name="AddMember">
			<input message="msnab:AddMemberMessage" />
			<output message="msnab:AddMemberResponseMessage" />
		</operation>
		<operation name="DeleteMember">
			<input message="msnab:DeleteMemberMessage" />
			<output message="msnab:DeleteMemberResponseMessage" />
		</operation>
	</portType>

	<portType name="ABServicePortType">
		<operation name="ABFindAll">
			<input message="msnab:ABFindAllMessage" />
			<output message="msnab:ABFindAllResponseMessage" />
		</operation>
		<operation name="ABContactAdd">
			<input message="msnab:ABContactAddMessage" />
			<output message="msnab:ABContactAddResponseMessage" />
			<fault message="msnab:InvalidPassportUserMessage" name="InvalidPassportUserException" />
		</operation>
		<operation name="ABGroupContactAdd">
			<input message="msnab:ABGroupContactAddMessage" />
			<output message="msnab:ABGroupContactAddResponseMessage" />
			<fault message="msnab:InvalidPassportUserMessage" name="InvalidPassportUserException" />
		</operation>
		<operation name="ABGroupAdd">
			<input message="msnab:ABGroupAddMessage" />
			<output message="msnab:ABGroupAddResponseMessage" />
		</operation>
		<operation name="ABGroupUpdate">
			<input message="msnab:ABGroupUpdateMessage" />
			<output message="msnab:ABGroupUpdateResponseMessage" />
		</operation>
		<operation name="ABGroupDelete">
			<input message="msnab:ABGroupDeleteMessage" />
			<output message="msnab:ABGroupDeleteResponseMessage" />
		</operation>
		<operation name="ABGroupContactDelete">
			<input message="msnab:ABGroupContactDeleteMessage" />
			<output message="msnab:ABGroupContactDeleteResponseMessage" />
		</operation>
		<operation name="ABContactUpdate">
			<input message="msnab:ABContactUpdateMessage" />
			<output message="msnab:ABContactUpdateResponseMessage" />
		</operation>
	</portType>

	<binding name="SharingServiceBinding" type="msnab:SharingServicePortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="FindMembership">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/FindMembership" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="AddMember">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/AddMember" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="DeleteMember">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/DeleteMember" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
	</binding>

	<binding name="ABServiceBinding" type="msnab:ABServicePortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="ABFindAll">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABFindAll" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ABContactAdd">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABContactAdd" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
			<fault name="InvalidPassportUserException">
				<soap:fault name="InvalidPassportUserException" use="literal" />
			</fault>
		</operation>
		<operation name="ABGroupContactAdd">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABGroupContactAdd" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
			<fault name="InvalidPassportUserException">
				<soap:fault name="InvalidPassportUserException" use="literal" />
			</fault>
		</operation>
		<operation name="ABGroupAdd">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABGroupAdd" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ABGroupUpdate">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABGroupUpdate" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ABGroupDelete">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABGroupDelete" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ABGroupContactDelete">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABGroupContactDelete" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
		<operation name="ABContactUpdate">
			<soap:operation soapAction="http://www.msn.com/webservices/AddressBook/ABContactUpdate" style="document" />
			<input>
				<soap:header message="msnab:ABHeader" part="ApplicationHeader" use="literal"/>
				<soap:header message="msnab:ABHeader" part="AuthHeader" use="literal" />
				<soap:body use="literal" />
			</input>
			<output>
				<soap:header message="msnab:ServiceHeader" part="ServiceHeader" use="literal" />
				<soap:body use="literal" />
			</output>
		</operation>
	</binding>

	<service name="SharingService">
		<port name="FindMembershipPort" binding="msnab:SharingServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/SharingService.asmx" />
		</port>
		<port name="AddMemberPort" binding="msnab:SharingServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/SharingService.asmx" />
		</port>
		<port name="DeleteMemberPort" binding="msnab:SharingServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/SharingService.asmx" />
		</port>
	</service>

	<service name="ABService">
		<port name="ABFindAllPort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABContactAddPort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABGroupContactAddPort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABGroupAddPort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABGroupUpdatePort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABGroupDeletePort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABGroupContactDeletePort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
		<port name="ABContactUpdatePort" binding="msnab:ABServiceBinding">
			<soap:address location="https://contacts.msn.com/abservice/abservice.asmx" />
		</port>
	</service>
</definitions>
