# Table of contents:
# Introduction
Errors ("faults") in the Simple Object Access Protocol are special types of responses.
# Server/Response
# soap:EnvelopeThis element has three attributes:
xmlns:soap: This is always set tohttp://schemas.xmlsoap.org/soap/envelope/.xmlns:xsi: This is always set tohttp://www.w3.org/2001/XMLSchema-instance.xmlns:xsd: This is always set tohttp://www.w3.org/2001/XMLSchema.
There may be one optional attribute:
xmlns:soapenc: This is always set tohttp://schemas.xmlsoap.org/soap/encoding/. (This usually shows up if the client is using version 8 or higher of the Official Client.)
This element only contains one child:
<soap:Fault>: Described below.
This element contains two elements and two optional elements, all of which are in the empty namespace:
faultcode: This is a qualified XML namespace:soap:Client: Error parsing request.soap:Server: Internal server error.q0:AuthenticationFailed: (Offline Instant Messaging service) Authentication failure.q0:SystemUnavailable: (Offline Instant Messaging service) This may mean the system is unavailable or the user is unavailable.q0:SenderThrottleLimitExceeded: (Offline Instant Messaging service) You are sending too many messages. Try again later.q0:MessageTooLarge: (Offline Instant Messaging service) That message was too large to send.wsse:FailedAuthentication: (Request Security Token service) Authentication failure.psf:Redirect(Request Security Token service) You need to use a different server to log in with this user handle.
faultstring: A description of the error.faultactor: Optional. The URL to the SOAP action (SOAPActionheader).detail: Optional. Can include any XML element the author of the service feels is needed.
This version of this element contains three children which are in the http://www.msn.com/webservices/AddressBook namespace:
<faultcode>: The special error name that is associated with this fault:ABAlreadyExists: The specified Address Book to create already exists.ABDoesNotExist: The specified Address Book does not exist.BadArgumentLength: A value was specified that is of the wrong length.BadEmailArgument: A E-mail Address was specified that is invalid.ContactAlreadyExists: The specified contact already exists on the specified Address Book.ContactDoesNotExist: The specified contact does not exist in the specified Address Book.DynamicItemDoesNotExist: The specified Dynamic Item does not exist.EmailDomainIsFederated: The specified E-mail Address is federated.FullSyncRequired: The partial sync changelog for the specified list has expired. You'll need to re-download the full list again.GroupAlreadyExists: The specified group already exists in the specified Address Book.GroupDoesNotExist: The specified group does not exist in the specified Address Book.InvalidPassportUser: The specified user is not a Passport user.InvalidSyncTimeStamp: The specified sync timestamp was invalid.MemberAlreadyExists: The specified member specified already exists on that list.MemberDoesNotExist: The specified member specified does not exist.PassportAuthFail: The authentication token is invalid. Please log in again and re-attempt to send this request.RequestLimitReached: You have sent too many requests. Try again later.SecureConnectionRequired: A SSL/TLS connection to the service is required.
<errorstring>: A description of the fault. May be different from the main<soap:Fault>'s<faultstring>.<machineName>: The internal machine name that generated this error.
This version of this element optionally supports only one child in the http://www.msn.com/webservices/AddressBook namespace:
<parameterFault>: The name of the parameter specified that was invalid. Only inBadArgument-type<faultcode>s.
This version of this element also contains only one child which is in the empty namespace:
<additionalDetails>: May contain various children:<conflictObjectId>: The object ID that is conflicting. Only inAlreadyExists-type<faultcode>s.<originalExceptionErrorMessage>: The original exception thrown before generating this fault.
This version of this element contains three children which are in the http://www.msn.com/webservices/storage/v1 namespace:
<faultcode>: The special error name that is associated with this fault:AccessDenied: You do not have permission to do this action.GeneralException: A general exception occured while processing this request.ItemAlreadyExists: The specified item already exists.ItemDoesNotExist: The specified item does not exist.InvalidObjectHandle: The specified Resource Handle is invalid.InvalidDocumentStream: The specified<DocumentStream>was invalid.
<errorstring>: A description of the fault. May be different from the main<soap:Fault>'s<faultstring>.<machineName>: The internal machine name that generated this error.
This version of this element contains two children which are in the http://messenger.msn.com/ws/2004/09/oim/ namespace:
<TweenerChallenge>: The Passport security policy to use.<LockKeyChallenge>: The CHL-compatible challenge string to solve for the<Ticket>.
# Examples
# Basic fault
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=utf-8
Content-Length: 235
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Example error.</faultstring>
<faultactor>http://example.com/services/example.asmx</faultactor>
</soap:Fault>
</soap:Body>
</soap:Envelope>
# Address Book Service
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=utf-8
Content-Length: 1034
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Full sync required. Details: Delta syncs disabled.</faultstring>
<faultactor>http://www.msn.com/webservices/AddressBook/ABFindAll</faultactor>
<detail>
<errorcode
xmlns="http://www.msn.com/webservices/AddressBook"
>FullSyncRequired</errorcode>
<errorstring
xmlns="http://www.msn.com/webservices/AddressBook"
>Full sync required. Details: Delta syncs disabled.</errorstring>
<machineName
xmlns="http://www.msn.com/webservices/AddressBook"
>yellows111</machineName>
<additionalDetails>
<originalExceptionErrorMessage>Full sync required. Details: Delta syncs disabled.</originalExceptionErrorMessage>
</additionalDetails>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
# Offline Instant Messaging service
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=utf-8
Content-Length: 868
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<soap:Body>
<soap:Fault>
<faultcode
xmlns:q0="https://messenger.msn.com/ws/2004/09/oim/"
>q0:AuthenticationFailed</faultcode>
<faultstring>Exception of type System.Web.Services.Protocols.SoapException was thrown.</faultstring>
<faultactor>https://ows.messenger.msn.com/OimWS/oim.asmx</faultactor>
<detail>
<TweenerChallenge
xmlns="http://messenger.msn.com/ws/2004/09/oim/"
>ct=1,rver=1,wp=FS_40SEC_0_COMPACT,lc=1,id=1</TweenerChallenge>
<LockKeyChallenge
xmlns="https://messenger.msn.com/ws/2004/09/oim/"
>12345678901234567890</LockKeyChallenge>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>