Introduction .windows.net



[MS-ASNOTE]: Exchange ActiveSync: Notes Class ProtocolIntellectual Property Rights Notice for Open Specifications DocumentationTechnical Documentation. Microsoft publishes Open Specifications documentation (“this documentation”) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting iplg@. License Programs. To see all of the protocols in scope under a specific license program and the associated patents, visit the Patent Map. Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit trademarks. Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise. Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it.Support. For questions and support, please contact dochelp@. Revision SummaryDateRevision HistoryRevision ClassComments4/10/20090.1.0MajorInitial Availability.7/15/20091.0.0MajorRevised and edited for technical content.11/4/20092.0.0MajorUpdated and revised the technical content.2/10/20103.0.0MajorUpdated and revised the technical content.5/5/20104.0.0MajorUpdated and revised the technical content.8/4/20105.0MajorSignificantly changed the technical content.11/3/20105.1MinorClarified the meaning of the technical content.3/18/20115.2MinorClarified the meaning of the technical content.8/5/20116.0MajorSignificantly changed the technical content.10/7/20116.1MinorClarified the meaning of the technical content.1/20/20127.0MajorSignificantly changed the technical content.4/27/20127.0NoneNo changes to the meaning, language, or formatting of the technical content.7/16/20127.0NoneNo changes to the meaning, language, or formatting of the technical content.10/8/20127.1MinorClarified the meaning of the technical content.2/11/20137.1NoneNo changes to the meaning, language, or formatting of the technical content.7/26/20138.0MajorSignificantly changed the technical content.11/18/20138.0NoneNo changes to the meaning, language, or formatting of the technical content.2/10/20148.0NoneNo changes to the meaning, language, or formatting of the technical content.4/30/20149.0MajorSignificantly changed the technical content.7/31/20149.0NoneNo changes to the meaning, language, or formatting of the technical content.10/30/20149.0NoneNo changes to the meaning, language, or formatting of the technical content.5/26/201510.0MajorSignificantly changed the technical content.6/30/201510.0NoneNo changes to the meaning, language, or formatting of the technical content.9/14/201510.0NoneNo changes to the meaning, language, or formatting of the technical content.6/9/201611.0MajorSignificantly changed the technical content.2/28/201712.0MajorSignificantly changed the technical content.4/18/201712.0NoneNo changes to the meaning, language, or formatting of the technical content.7/24/201813.0MajorSignificantly changed the technical content.10/1/201814.0MajorSignificantly changed the technical content.Table of ContentsTOC \o "1-9" \h \z1Introduction PAGEREF _Toc525710542 \h 61.1Glossary PAGEREF _Toc525710543 \h 61.2References PAGEREF _Toc525710544 \h 61.2.1Normative References PAGEREF _Toc525710545 \h 61.2.2Informative References PAGEREF _Toc525710546 \h 71.3Overview PAGEREF _Toc525710547 \h 71.4Relationship to Other Protocols PAGEREF _Toc525710548 \h 71.5Prerequisites/Preconditions PAGEREF _Toc525710549 \h 71.6Applicability Statement PAGEREF _Toc525710550 \h 71.7Versioning and Capability Negotiation PAGEREF _Toc525710551 \h 81.8Vendor-Extensible Fields PAGEREF _Toc525710552 \h 81.9Standards Assignments PAGEREF _Toc525710553 \h 82Messages PAGEREF _Toc525710554 \h 92.1Transport PAGEREF _Toc525710555 \h 92.2Message Syntax PAGEREF _Toc525710556 \h 92.2.1Namespaces PAGEREF _Toc525710557 \h 92.2.2Elements PAGEREF _Toc525710558 \h 92.2.2.1Body PAGEREF _Toc525710559 \h 102.2.2.2Categories PAGEREF _Toc525710560 \h 112.2.2.3Category PAGEREF _Toc525710561 \h 112.2.2.4LastModifiedDate PAGEREF _Toc525710562 \h 122.2.2.5MessageClass PAGEREF _Toc525710563 \h 132.2.2.6Subject PAGEREF _Toc525710564 \h 133Protocol Details PAGEREF _Toc525710565 \h 153.1Client Details PAGEREF _Toc525710566 \h 153.1.1Abstract Data Model PAGEREF _Toc525710567 \h 153.1.2Timers PAGEREF _Toc525710568 \h 153.1.3Initialization PAGEREF _Toc525710569 \h 153.1.4Higher-Layer Triggered Events PAGEREF _Toc525710570 \h 153.1.4.1Synchronizing Notes Data Between Client and Server PAGEREF _Toc525710571 \h 153.1.4.2Searching a Server for Notes PAGEREF _Toc525710572 \h 153.1.4.3Requesting Details for One or More Notes PAGEREF _Toc525710573 \h 153.1.5Message Processing Events and Sequencing Rules PAGEREF _Toc525710574 \h 153.1.5.1ItemOperations Command Request PAGEREF _Toc525710575 \h 153.1.5.1.1airsyncbase:Body Element PAGEREF _Toc525710576 \h 163.1.5.2Search Command Request PAGEREF _Toc525710577 \h 163.1.5.3Sync Command Request PAGEREF _Toc525710578 \h 163.1.5.3.1LastModifiedDate Element PAGEREF _Toc525710579 \h 163.1.5.3.2MessageClass Element PAGEREF _Toc525710580 \h 163.1.6Timer Events PAGEREF _Toc525710581 \h 163.1.7Other Local Events PAGEREF _Toc525710582 \h 163.2Server Details PAGEREF _Toc525710583 \h 173.2.1Abstract Data Model PAGEREF _Toc525710584 \h 173.2.2Timers PAGEREF _Toc525710585 \h 173.2.3Initialization PAGEREF _Toc525710586 \h 173.2.4Higher-Layer Triggered Events PAGEREF _Toc525710587 \h 173.2.4.1Synchronizing Notes Data Between Client and Server PAGEREF _Toc525710588 \h 173.2.4.2Searching for Notes Data PAGEREF _Toc525710589 \h 173.2.4.3Retrieving Details for One or More Notes PAGEREF _Toc525710590 \h 173.2.5Message Processing Events and Sequencing Rules PAGEREF _Toc525710591 \h 173.2.5.1ItemOperations Command Response PAGEREF _Toc525710592 \h 173.2.5.2Search Command Response PAGEREF _Toc525710593 \h 183.2.5.3Sync Command Response PAGEREF _Toc525710594 \h 183.2.5.3.1LastModifiedDate Element PAGEREF _Toc525710595 \h 183.2.5.3.2MessageClass Element PAGEREF _Toc525710596 \h 183.2.6Timer Events PAGEREF _Toc525710597 \h 193.2.7Other Local Events PAGEREF _Toc525710598 \h 194Protocol Examples PAGEREF _Toc525710599 \h 205Security PAGEREF _Toc525710600 \h 225.1Security Considerations for Implementers PAGEREF _Toc525710601 \h 225.2Index of Security Parameters PAGEREF _Toc525710602 \h 226Appendix A: Full XML Schema PAGEREF _Toc525710603 \h 237Appendix B: Product Behavior PAGEREF _Toc525710604 \h 248Change Tracking PAGEREF _Toc525710605 \h 259Index PAGEREF _Toc525710606 \h 26Introduction XE "Introduction" The Exchange ActiveSync: Notes Class Protocol enables the communication of notes data between a mobile device and the server in the ActiveSync Protocol.Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in this specification are informative.Glossary XE "Glossary" This document uses the following terms:Hypertext Markup Language (HTML): An application of the Standard Generalized Markup Language (SGML) that uses tags to mark elements in a document, as described in [HTML].Inter-Personal Mail (IPM): Typical user messaging items, such as email and calendar items.plain text: Text that does not have markup. See also plain text message body.Rich Text Format (RTF): Text with formatting as described in [MSFT-RTF].Wireless Application Protocol (WAP) Binary XML (WBXML): A compact binary representation of XML that is designed to reduce the transmission size of XML documents over narrowband communication channels.XML: The Extensible Markup Language, as described in [XML1.0].XML element: An XML structure that typically consists of a start tag, an end tag, and the information between those tags. Elements can have attributes and can contain other elements.XML namespace: A collection of names that is used to identify elements, types, and attributes in XML documents identified in a URI reference [RFC3986]. A combination of XML namespace and local name allows XML documents to use elements, types, and attributes that have the same names but come from different sources. For more information, see [XMLNS-2ED].XML schema: A description of a type of XML document that is typically expressed in terms of constraints on the structure and content of documents of that type, in addition to the basic syntax constraints that are imposed by XML itself. An XML schema provides a view of a document type at a relatively high level of abstraction.MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.References XE "References" Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata. Normative References XE "References:normative" XE "Normative references" We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact dochelp@. We will assist you in finding the relevant information. [MS-ASAIRS] Microsoft Corporation, "Exchange ActiveSync: AirSyncBase Namespace Protocol".[MS-ASCMD] Microsoft Corporation, "Exchange ActiveSync: Command Reference Protocol".[MS-ASDTYPE] Microsoft Corporation, "Exchange ActiveSync: Data Types".[MS-ASHTTP] Microsoft Corporation, "Exchange ActiveSync: HTTP Protocol".[MS-ASWBXML] Microsoft Corporation, "Exchange ActiveSync: WAP Binary XML (WBXML) Algorithm".[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, [XMLNS] Bray, T., Hollander, D., Layman, A., et al., Eds., "Namespaces in XML 1.0 (Third Edition)", W3C Recommendation, December 2009, [XMLSCHEMA1] Thompson, H., Beech, D., Maloney, M., and Mendelsohn, N., Eds., "XML Schema Part 1: Structures", W3C Recommendation, May 2001, [XML] World Wide Web Consortium, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C Recommendation 16 August 2006, edited in place 29 September 2006, References XE "References:informative" XE "Informative references" None.Overview XE "Overview (synopsis)" This protocol describes the XML representation of notes that are used for client and server communication as described in [MS-ASCMD]. The notes data is included in protocol command requests when notes data is sent from the client to the server, and is included in protocol command responses when notes data is returned from the server to the client.Relationship to Other Protocols XE "Relationship to other protocols" This protocol describes the XML representation of notes that is used by the command requests and command responses that are described in [MS-ASCMD]. The protocol governing the transmission of these commands between the client and the server is described in [MS-ASCMD]. The Wireless Application Protocol (WAP) Binary XML (WBXML), as described in [MS-ASWBXML], is used to transmit the XML markup that constitutes the request body and the response body.All simple data types in this document conform to the data type definitions that are described in [MS-ASDTYPE].For conceptual background information and overviews of the relationships and interactions between this and other protocols, see [MS-OXPROTO].Prerequisites/Preconditions XE "Prerequisites" XE "Preconditions" None.Applicability Statement XE "Applicability" This protocol describes a set of XML elements that are used to communicate notes data when using the commands that are described in [MS-ASCMD]. This set of elements is applicable when communicating notes information between a mobile device and a server. Except where indicated, these elements are not applicable when communicating other types of information that are supported by the ActiveSync protocol.Versioning and Capability Negotiation XE "Versioning" XE "Capability negotiation" None.Vendor-Extensible Fields XE "Vendor-extensible fields" XE "Fields - vendor-extensible" None.Standards Assignments XE "Standards assignments" None.MessagesTransport XE "Messages:transport" XE "Transport" This protocol consists of a series of XML elements that are embedded inside of a command request or command response, as specified in [MS-ASCMD]. The XML markup that constitutes the request body or the response body that is transmitted between the client and the server uses Wireless Application Protocol (WAP) Binary XML (WBXML), as specified in [MS-ASWBXML]. Message Syntax XE "Messages:syntax" The XML schema for the Notes namespace is described in section 6.The markup that is used by this protocol MUST be well-formed XML, as specified in [XML].Namespaces XE "Messages:Namespaces" XE "Namespaces message" This specification defines and references various XML namespaces using the mechanisms specified in [XMLNS]. Although this specification associates a specific XML namespace prefix for each XML namespace that is used, the choice of any particular XML namespace prefix is implementation-specific and is not significant for interoperability.PrefixNamespace URIReferenceairsyncbaseAirSyncBase[MS-ASAIRS](none)NotesairsyncAirSync[MS-ASCMD] section 2.2.1.21itemoperationsItemOperations[MS-ASCMD] section 2.2.1.10searchSearch[MS-ASCMD] section 2.2.1.16xs[XMLSCHEMA1]Elements XE "Messages:Elements" XE "Elements message" Elements of the Notes class are defined in two namespaces: Notes and AirSyncBase. All Notes class elements are specified in this document; elements defined in the AirSyncBase namespace are further specified in [MS-ASAIRS].Except where otherwise specified in the following sections, each element of the Notes class is used in ActiveSync command requests and responses as follows:As an optional child element of the itemoperations:Schema element ([MS-ASCMD] section 2.2.3.158) in ItemOperations command requests ([MS-ASCMD] section 2.2.1.10)As an optional child element of the itemoperations:Properties element ([MS-ASCMD] section 2.2.3.139.2) in ItemOperations command responsesAs an optional child element of the search:Properties element ([MS-ASCMD] section 2.2.3.139.3) in Search command responses ([MS-ASCMD] section 2.2.1.16)As an optional child element of the airsync:ApplicationData element ([MS-ASCMD] section 2.2.3.11) in Sync command requests ([MS-ASCMD] section 2.2.1.21)As an optional child element of the airsync:ApplicationData element ([MS-ASCMD] section 2.2.3.11) in Sync command responsesThe following table summarizes the set of common XML schema element definitions defined by this specification. XML schema element definitions that are specific to one or more particular operations are specified further in sections 3.1.5.1, 3.1.5.2, 3.1.5.3, 3.2.5.1, 3.2.5.2, and 3.2.5.3.Element nameDescriptionairsyncbase:Body (section 2.2.2.1)The text of the note.Subject (section 2.2.2.6)The subject of the note.MessageClass (section 2.2.2.5)The form of the message.LastModifiedDate (section 2.2.2.4)The day and time that the note was last changed by the user. Categories (section 2.2.2.2)A collection of labels assigned to the note.Category (section 2.2.2.3)One of the user-assigned labels applied to the note.Body XE "Elements:Body" The airsyncbase:Body element is a container ([MS-ASDTYPE] section 2.2) element that specifies the text of the note. It is defined as an element in the AirSyncBase namespace and is used in ActiveSync command requests and responses as specified in section 2.2.2.The airsyncbase:Type element ([MS-ASAIRS] section 2.2.2.41.1) (a required child element of the airsyncbase:Body element) MUST be set to one of the following values.ValueMeaning1Plain text 2HTML 3Rich Text Format (RTF) When the airsyncbase:Body element is used in a Sync command request or response ([MS-ASCMD] section 2.2.1.21), the airsyncbase:Data element ([MS-ASAIRS] section 2.2.2.20.1) is a required child element of the airsyncbase:Body element.For more details about the airsyncbase:Body element, see [MS-ASAIRS] section 2.2.2.9.Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesCategories XE "Elements:Categories" The Categories element is a container ([MS-ASDTYPE] section 2.2) element that specifies a collection of labels assigned to the note. It is defined as an element in the Notes namespace and is used in ActiveSync command requests and responses as specified in section 2.2.2.The Categories element has the following child element:Category (section 2.2.2.3): Zero or more instances of this element are allowed.Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesCategory XE "Elements:Category" The Category element is an optional child element of the Categories element (section 2.2.2.2) that specifies a user-selected label that has been applied to the note. It is defined as an element in the Notes namespace.The value of this element is a string data type, as specified in [MS-ASDTYPE] section 2.7.Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesLastModifiedDate XE "Elements:LastModifiedDate" The LastModifiedDate element specifies when the note was last changed. It is defined as an element in the Notes namespace and is used in ActiveSync command requests and responses as specified in section 2.2.2.The value of the LastModifiedDate element is a string data type represented as a Compact DateTime ([MS-ASDTYPE] section 2.7.2).Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesMessageClass XE "Elements:MessageClass" The MessageClass element is a required element that specifies the Inter-Personal Mail (IPM) type of the note. It is defined as an element in the Notes namespace.The value of this element is a string data type, as specified in [MS-ASDTYPE] section 2.7.The value of the MessageClass element MUST be either "IPM.StickyNote" or "IPM.StickyNote.*", where "*" represents an arbitrary string chosen by the client or server.Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesSubject XE "Elements:Subject" The Subject element specifies the subject of the note. It is defined as an element in the Notes namespace and is used in ActiveSync command requests and responses as specified in section 2.2.2.The value of this element is a string data type, as specified in [MS-ASDTYPE] section 2.7.Protocol VersionsThe following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.Protocol versionElement support2.512.012.114.0Yes14.1Yes16.0Yes16.1YesProtocol DetailsClient DetailsAbstract Data Model XE "Client:abstract data model" XE "Abstract data model:client" XE "Data model - abstract:client" This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.Notes class: A structured XML text block that adheres to the XML schema definition specified in section 2.2. It is returned by the server to the client as part of a full XML response to the client command requests that are specified in section 3.1.5. It is included in command requests that are sent from the client to the server to retrieve or synchronize notes. Command request: A WBXML-formatted message that adheres to the command schemas specified in [MS-ASCMD].Timers XE "Client:timers" XE "Timers:client" None.Initialization XE "Client:initialization" XE "Initialization:client" None.Higher-Layer Triggered EventsSynchronizing Notes Data Between Client and Server XE "Client - higher-layer triggered events:synchronizing notes with the server" XE "Higher-layer triggered events - client:synchronizing notes with the server" XE "Triggered events - client:synchronizing notes with the server" A client initiates synchronization of Notes class data with the server by sending a Sync command request ([MS-ASCMD] section 2.2.1.21) to the server.Searching a Server for Notes XE "Client - higher-layer triggered events:searching a server for notes" XE "Higher-layer triggered events - client:searching a server for notes" XE "Triggered events - client:searching a server for notes" A client searches for Notes class data by sending a Search command request ([MS-ASCMD] section 2.2.1.16) to the server.Requesting Details for One or More Notes XE "Client - higher-layer triggered events:requesting details for one or more notes" XE "Higher-layer triggered events - client:requesting details for one or more notes" XE "Triggered events - client:requesting details for one or more notes" A client requests Notes class data for one or more individual notes by sending an ItemOperations command request ([MS-ASCMD] section 2.2.1.10) to the server that contains one or more itemoperations:Fetch elements ([MS-ASCMD] section 2.2.3.67.1). Message Processing Events and Sequencing RulesItemOperations Command Request XE "Client - message processing:ItemOperations command request" XE "Client - sequencing rules:ItemOperations command request" XE "Sequencing rules - client:ItemOperations command request" XE "Message processing - client:ItemOperations command request" A client uses an ItemOperations command request ([MS-ASCMD] section 2.2.1.10) to retrieve data from the server for one or more specific Notes class items.Notes class elements cannot be included in an ItemOperations command request.airsyncbase:Body ElementIf a client cannot display the data type specified by the airsyncbase:Type element (a required child element of the airsyncbase:Body element (section 2.2.2.1) in the ItemOperations command response ([MS-ASCMD] section 2.2.1.10)), as specified in [MS-ASAIRS] section 2.2.2.41.1), the client can ignore the airsyncbase:Body element.Search Command Request XE "Client - message processing:Search command request" XE "Client - sequencing rules:Search command request" XE "Sequencing rules - client:Search command request" XE "Message processing - client:Search command request" A client uses the Search command request ([MS-ASCMD] section 2.2.1.16) to retrieve Notes class items that match the criteria specified by the client.Elements that belong to the Notes class, as specified in section 2.2.2, MUST NOT be included in a Search command request.Sync Command Request XE "Client - message processing:Sync command request" XE "Client - sequencing rules:Sync command request" XE "Sequencing rules - client:Sync command request" XE "Message processing - client:Sync command request" A client uses the Sync command request ([MS-ASCMD] section 2.2.1.21) to synchronize its Notes class items for a specified user with the notes currently stored by the server.Any of the elements that belong to the Notes class, as specified in section 2.2.2, can be included in a Sync command request as child elements of the airsync:ApplicationData element ([MS-ASCMD] section 2.2.3.11) within either an airsync:Add element ([MS-ASCMD] section 2.2.3.7.2) or an airsync:Change element ([MS-ASCMD] section 2.2.3.24).The airsync:Supported element ([MS-ASCMD] section 2.2.3.179) MUST NOT be included in a Sync command request for the Notes class. When an existing note is updated with an airsync:Change element in a Sync command, the command will contain all required elements of the note.LastModifiedDate ElementThe client can omit the LastModifiedDate element (section 2.2.2.4) from the Sync command request ([MS-ASCMD] section 2.2.1.21). If it is included in a Sync command request, the server will ignore it.MessageClass ElementIf a client changes the MessageClass element (section 2.2.2.5) value on an existing note, the MessageClass element value MUST conform to the requirements specified in section 2.2.2.5. Timer Events XE "Client:timer events" XE "Timer events:client" None.Other Local Events XE "Client:other local events" XE "Other local events:client" None.Server DetailsAbstract Data Model XE "Server:abstract data model" XE "Abstract data model:server" XE "Data model - abstract:server" This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.Notes class: A structured XML text block that adheres to the XML schema specified in section 2.2. It is returned by the server as part of a full XML response to the client requests specified in section 3.1.5.The server can return zero or more Notes class XML blocks in its response, depending on how many notes match the criteria specified by the client command request. The server returns a Notes class XML block for every note that matches the criteria specified by the client command mand response: A WBXML-formatted message that adheres to the command schemas specified in [MS-ASCMD].Timers XE "Server:timers" XE "Timers:server" NoneInitialization XE "Server:initialization" XE "Initialization:server" None.Higher-Layer Triggered EventsSynchronizing Notes Data Between Client and Server XE "Server - higher-layer triggered events:synchronizing notes with the server" XE "Higher-layer triggered events - server:synchronizing notes with the server" XE "Triggered events - server:synchronizing notes with the server" Synchronization of Notes class data between client and server is initiated by the client, as specified in section 3.1.4.1. The server responds with a Sync command response ([MS-ASCMD] section 2.2.1.21).Searching for Notes Data XE "Server - higher-layer triggered events:searching for notes data" XE "Higher-layer triggered events - server:searching for notes data" XE "Triggered events - server:searching for notes data" Searching for Notes class data is initiated by the client, as specified in section 3.1.4.2. The server responds with a Search command response ([MS-ASCMD] section 2.2.1.16).Retrieving Details for One or More Notes XE "Server - higher-layer triggered events:retrieving details for one or more notes" XE "Higher-layer triggered events - server:retrieving details for one or more notes" XE "Triggered events - server:retrieving details for one or more notes" Retrieval of Notes class data for one or more individual notes is initiated by the client, as specified in section 3.1.4.3. The server responds with an ItemOperations command response ([MS-ASCMD] section 2.2.1.10).Message Processing Events and Sequencing RulesItemOperations Command Response XE "Server - message processing:ItemOperations command response" XE "Server - sequencing rules:ItemOperations command response" XE "Sequencing rules - server:ItemOperations command response" XE "Message processing - server:ItemOperations command response" When a client uses an ItemOperations command request ([MS-ASCMD] section 2.2.1.10) to retrieve data from the server for one or more notes items, as specified in section 3.1.5.1, the server responds with an ItemOperations command response.Any of the elements that belong to the Notes class, as specified in section 2.2.2, can be included in an ItemOperations command response. If an itemoperations:Schema element ([MS-ASCMD] section 2.2.3.158) is included in the ItemOperations command request, then the elements returned in the ItemOperations command response MUST be restricted to the elements that were included as child elements of the ItemOperations:Schema element in the command request.Notes class elements are returned as child elements of the itemoperations:Properties element ([MS-ASCMD] section 2.2.3.139) in the ItemOperations command response.Search Command Response XE "Server - message processing:Search command response" XE "Server - sequencing rules:Search command response" XE "Sequencing rules - server:Search command response" XE "Message processing - server:Search command response" When a client uses the Search command request ([MS-ASCMD] section 2.2.1.16) to retrieve Notes class items that match the criteria specified by the client, as specified in section 3.1.5.2, the server responds with a Search command response.Any of the elements that belong to the Notes class, as specified in section 2.2.2, can be included in a Search command response.Notes class elements are returned as child elements of the search:Properties element ([MS-ASCMD] section 2.2.3.139) in the Search command response.Sync Command Response XE "Server - message processing:Sync command response" XE "Server - sequencing rules:Sync command response" XE "Sequencing rules - server:Sync command response" XE "Message processing - server:Sync command response" When a client uses the Sync command request ([MS-ASCMD] section 2.2.1.21) to synchronize its Notes class items for a specified user with the notes currently stored by the server, as specified in section 3.1.5.3, the server responds with a Sync command response.Any of the elements for the Notes class, as specified in section 2.2.2, can be included in a Sync command response as child elements of the airsync:ApplicationData element ([MS-ASCMD] section 2.2.3.11) within either an airsync:Add element ([MS-ASCMD] section 2.2.3.7.2) or an airsync:Change element ([MS-ASCMD] section 2.2.3.24).When an existing note is updated by using an airsync:Change element in a Sync command request, the command request will contain required all elements of the note. If the Categories element (section 2.2.2.2) or a child of the Categories element (section 2.2.2.3) that was previously set is missing, the server will delete that property from the note. The absence of an airsyncbase:Body element (section 2.2.2.1) or a Subject element (section 2.2.2.6) within an airsync:Change element is not to be interpreted as an implicit delete.If the airsync:Supported element ([MS-ASCMD] section 2.2.3.179) is included in a Sync command request for Notes class data, the server returns a Status element with a value of 4, as specified in [MS-ASCMD] section 2.2.3.177.17.LastModifiedDate ElementThe LastModifiedDate element (section 2.2.2.4) is not required in the Sync command request, but it is required in the Sync command response ([MS-ASCMD] section 2.2.1.21).If a Sync command request includes the LastModifiedDate element, the server ignores the element and returns the actual time that the note was last modified.MessageClass ElementIf a client submits a Sync command request ([MS-ASCMD] section 2.2.1.21) that contains a MessageClass element value that does not conform to the requirements specified in section 2.2.2.5, the server MUST respond with a Status element with a value of 6, as specified in [MS-ASCMD] section 2.2.3.177.17.Timer Events XE "Server:timer events" XE "Timer events:server" None.Other Local Events XE "Server:other local events" XE "Other local events:server" None.Protocol Examples XE "Examples" The following example demonstrates a client request to synchronize notes data with the server, and the server response. In this example, the client uses the Sync command request ([MS-ASCMD] section 2.2.1.21) to create one note, update one note that does not exist on the server, and delete one note.Request:<?xml version="1.0" encoding="utf-8"?><Sync xmlns:airsyncbase="AirSyncBase" xmlns:notes="Notes" xmlns="AirSync"> <Collections> <Collection> <SyncKey>398434774</SyncKey> <CollectionId>8</CollectionId> <DeletesAsMoves>1</DeletesAsMoves> <GetChanges>1</GetChanges> <WindowSize>512</WindowSize> <Options> <airsyncbase:BodyPreference> <airsyncbase:Type>2</airsyncbase:Type> <airsyncbase:TruncationSize>5120</airsyncbase:TruncationSize> <airsyncbase:AllOrNone>1</airsyncbase:AllOrNone> </airsyncbase:BodyPreference> </Options> <Commands> <Add> <ClientId>c212ac10-0465-4983-a898-076e152552ef</ClientId> <ApplicationData> <airsyncbase:Body> <airsyncbase:Type>2</airsyncbase:Type> <airsyncbase:Data>A new note I just created.</airsyncbase:Data> </airsyncbase:Body> <notes:Categories> <notes:Category>Business</notes:Category> </notes:Categories> <notes:Subject>New note</notes:Subject> <notes:MessageClass>IPM.StickyNote</notes:MessageClass> </ApplicationData> </Add> <Delete> <ServerId>8:1</ServerId> </Delete> <Change> <ServerId>bb18e2a7-3e65-41a1-b0b2-9815539f98ad</ServerId> <ApplicationData> <airsyncbase:Body> <airsyncbase:Type>2</airsyncbase:Type> <airsyncbase:Data>&lt;strong&gt;This is my second note.&lt;/strong&gt;</airsyncbase:Data> </airsyncbase:Body> <notes:Categories> <notes:Category>Business</notes:Category> </notes:Categories> <notes:Subject>Second Note</notes:Subject> <notes:MessageClass>IPM.StickyNote</notes:MessageClass> </ApplicationData> </Change> </Commands> </Collection> </Collections></Sync>Response:<?xml version="1.0" encoding="utf-8"?><Sync xmlns="AirSync"> <Collections> <Collection> <SyncKey>1960353427</SyncKey> <CollectionId>8</CollectionId> <Status>1</Status> <Responses> <Add> <ClientId>c212ac10-0465-4983-a898-076e152552ef</ClientId> <ServerId>8:3</ServerId> <Status>1</Status> </Add> <Change> <ServerId>bb18e2a7-3e65-41a1-b0b2-9815539f98ad</ServerId> <Status>8</Status> </Change> </Responses> </Collection> </Collections></Sync>SecuritySecurity Considerations for Implementers XE "Security:implementer considerations" XE "Implementer - security considerations" None.Index of Security Parameters XE "Security:parameter index" XE "Index of security parameters" XE "Parameters - security index" None.Appendix A: Full XML Schema XE "XML schema" XE "Full XML schema" For ease of implementation, this section contains the contents of the Notes.xsd file, which represents the full XML schema for this protocol.<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="" xmlns="Notes" targetNamespace="Notes" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Subject" type="xs:string"/> <xs:element name="MessageClass" type="xs:string"/> <xs:element name="LastModifiedDate" type="xs:string"/> <xs:element name="Categories"> <xs:complexType> <xs:sequence minOccurs="0"> <xs:element name="Category" type="xs:string" maxOccurs="300"/> </xs:sequence> </xs:complexType> </xs:element></xs:schema>Appendix B: Product Behavior XE "Product behavior" The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.Microsoft Exchange Server 2010Microsoft Exchange Server 2013Microsoft Exchange Server 2016 Microsoft Exchange Server 2019Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.Change Tracking XE "Change tracking" XE "Tracking changes" This section identifies changes that were made to this document since the last release. Changes are classified as Major, Minor, or None. The revision class Major means that the technical content in the document was significantly revised. Major changes affect protocol interoperability or implementation. Examples of major changes are:A document revision that incorporates changes to interoperability requirements.A document revision that captures changes to protocol functionality.The revision class Minor means that the meaning of the technical content was clarified. Minor changes do not affect protocol interoperability or implementation. Examples of minor changes are updates to clarify ambiguity at the sentence, paragraph, or table level.The revision class None means that no new technical changes were introduced. Minor editorial and formatting changes may have been made, but the relevant technical content is identical to the last released version.The changes made to this document are listed in the following table. For more information, please contact dochelp@.SectionDescriptionRevision class7 Appendix B: Product BehaviorUpdated list of supported products.MajorIndexAAbstract data model client PAGEREF section_12f675138d9b4710814e21f7222822b615 server PAGEREF section_3a17c10147bf40d798ba8cdda3b193b317Applicability PAGEREF section_f0dc866ed8934c508d27658e460302237CCapability negotiation PAGEREF section_ce08e50d82e54bd1907347e18952e7978Change tracking PAGEREF section_0d4fb44121d84f52bfa236efeece508c25Client abstract data model PAGEREF section_12f675138d9b4710814e21f7222822b615 initialization PAGEREF section_31bfadc5772540e99159e6825a210ed415 other local events PAGEREF section_359549f153484bb4bda97b3d015b540516 timer events PAGEREF section_52897d972943484fb00fe938784951a116 timers PAGEREF section_5a5a986ff8c84c878abd092090e9d54715Client - higher-layer triggered events requesting details for one or more notes PAGEREF section_6520f35dfe02479c9fd77a8229574e2515 searching a server for notes PAGEREF section_41dde0b0a46e4815a8fc342f72f5ac3b15 synchronizing notes with the server PAGEREF section_19fc2b4beef44bed96774b936cb84a2715Client - message processing ItemOperations command request PAGEREF section_7716fb1fb8b84f21834d8e3e350ca81d15 Search command request PAGEREF section_18eb7e4832424ff59eb28efc3e2d9f8316 Sync command request PAGEREF section_1146b4783d3c4b9d86bee124ac5b70c916Client - sequencing rules ItemOperations command request PAGEREF section_7716fb1fb8b84f21834d8e3e350ca81d15 Search command request PAGEREF section_18eb7e4832424ff59eb28efc3e2d9f8316 Sync command request PAGEREF section_1146b4783d3c4b9d86bee124ac5b70c916DData model - abstract client PAGEREF section_12f675138d9b4710814e21f7222822b615 server PAGEREF section_3a17c10147bf40d798ba8cdda3b193b317EElements Body PAGEREF section_afed04d282864af4abeab5de06ee842d10 Categories PAGEREF section_c08a56e36ad24846bfe64e30894c3a5911 Category PAGEREF section_deaa597fcdd3447e927c86e502359fda11 LastModifiedDate PAGEREF section_dad80a0e353b4d8897a3cc4a4bf586a712 MessageClass PAGEREF section_391a88fb3cc4498ea0020c99ccb4813a13 Subject PAGEREF section_94e5a5ed63e04a1592f8343f49ffecd913Elements message PAGEREF section_8f6c98d2de7f49b4a4bbba7240b419e19Examples PAGEREF section_5099e0840eaf4e30aa29efac13a7c10e20FFields - vendor-extensible PAGEREF section_b5afd5aebe2f4ce794e9dfa1a63c25c88Full XML schema PAGEREF section_f04bc4a22ad6466392d6a79c47bff1de23GGlossary PAGEREF section_d59f9220fb7c43efbf69539c593d638c6HHigher-layer triggered events - client requesting details for one or more notes PAGEREF section_6520f35dfe02479c9fd77a8229574e2515 searching a server for notes PAGEREF section_41dde0b0a46e4815a8fc342f72f5ac3b15 synchronizing notes with the server PAGEREF section_19fc2b4beef44bed96774b936cb84a2715Higher-layer triggered events - server retrieving details for one or more notes PAGEREF section_980e1d8f26eb414aad300429ad61a25317 searching for notes data PAGEREF section_5c5b7acb82cd4b6fa469a9896da597e717 synchronizing notes with the server PAGEREF section_0390a06eef94437babc4470d5c041c1717IImplementer - security considerations PAGEREF section_432b209316684d44b50ca8fcf77fed6f22Index of security parameters PAGEREF section_e3e2009bfdda434faea0693a547daf5522Informative references PAGEREF section_23cef497a65c4226861c954d262bdb787Initialization client PAGEREF section_31bfadc5772540e99159e6825a210ed415 server PAGEREF section_5c2ad7f9bb2e45a2a713aa4937dfcdb717Introduction PAGEREF section_1b564607eafc4d72b1d8a865eb1374146MMessage processing - client ItemOperations command request PAGEREF section_7716fb1fb8b84f21834d8e3e350ca81d15 Search command request PAGEREF section_18eb7e4832424ff59eb28efc3e2d9f8316 Sync command request PAGEREF section_1146b4783d3c4b9d86bee124ac5b70c916Message processing - server ItemOperations command response PAGEREF section_9bd7bce2dbde4e66b2fe4360db5e662c17 Search command response PAGEREF section_5639c68b557d4eeea9caacddaecb9b8118 Sync command response PAGEREF section_783946fbc7674e088a0f65d794b5931c18Messages Elements PAGEREF section_8f6c98d2de7f49b4a4bbba7240b419e19 Namespaces PAGEREF section_870adfd820974148a99016d0e2f4c3a49 syntax PAGEREF section_e59779191a874c7c883bc4e9a19570799 transport PAGEREF section_9daeb42f478a4f7d94049330c34a6cfc9NNamespaces message PAGEREF section_870adfd820974148a99016d0e2f4c3a49Normative references PAGEREF section_d6ef91db2a314bdc9479f433a8a8da726OOther local events client PAGEREF section_359549f153484bb4bda97b3d015b540516 server PAGEREF section_4d1cea4c0bcc4ed2bc63d087d4771a0f19Overview (synopsis) PAGEREF section_154d9625fe334ca89cbd8f47ca589d997PParameters - security index PAGEREF section_e3e2009bfdda434faea0693a547daf5522Preconditions PAGEREF section_21eeee0d8acc476dbdfb0277b5694c357Prerequisites PAGEREF section_21eeee0d8acc476dbdfb0277b5694c357Product behavior PAGEREF section_ba466680e3454343a0dcf34b51c5bd8d24RReferences PAGEREF section_39d459d2ab924d89a3a054b08b2e77f86 informative PAGEREF section_23cef497a65c4226861c954d262bdb787 normative PAGEREF section_d6ef91db2a314bdc9479f433a8a8da726Relationship to other protocols PAGEREF section_fc9041c192da4e26b300744aa2fb53cc7SSecurity implementer considerations PAGEREF section_432b209316684d44b50ca8fcf77fed6f22 parameter index PAGEREF section_e3e2009bfdda434faea0693a547daf5522Sequencing rules - client ItemOperations command request PAGEREF section_7716fb1fb8b84f21834d8e3e350ca81d15 Search command request PAGEREF section_18eb7e4832424ff59eb28efc3e2d9f8316 Sync command request PAGEREF section_1146b4783d3c4b9d86bee124ac5b70c916Sequencing rules - server ItemOperations command response PAGEREF section_9bd7bce2dbde4e66b2fe4360db5e662c17 Search command response PAGEREF section_5639c68b557d4eeea9caacddaecb9b8118 Sync command response PAGEREF section_783946fbc7674e088a0f65d794b5931c18Server abstract data model PAGEREF section_3a17c10147bf40d798ba8cdda3b193b317 initialization PAGEREF section_5c2ad7f9bb2e45a2a713aa4937dfcdb717 other local events PAGEREF section_4d1cea4c0bcc4ed2bc63d087d4771a0f19 timer events PAGEREF section_52c343a221b84ceb91278f760eeb984619 timers PAGEREF section_3347ebde9dce4f28849575f3d670d3ff17Server - higher-layer triggered events retrieving details for one or more notes PAGEREF section_980e1d8f26eb414aad300429ad61a25317 searching for notes data PAGEREF section_5c5b7acb82cd4b6fa469a9896da597e717 synchronizing notes with the server PAGEREF section_0390a06eef94437babc4470d5c041c1717Server - message processing ItemOperations command response PAGEREF section_9bd7bce2dbde4e66b2fe4360db5e662c17 Search command response PAGEREF section_5639c68b557d4eeea9caacddaecb9b8118 Sync command response PAGEREF section_783946fbc7674e088a0f65d794b5931c18Server - sequencing rules ItemOperations command response PAGEREF section_9bd7bce2dbde4e66b2fe4360db5e662c17 Search command response PAGEREF section_5639c68b557d4eeea9caacddaecb9b8118 Sync command response PAGEREF section_783946fbc7674e088a0f65d794b5931c18Standards assignments PAGEREF section_c00650e7131548feab746248a7b1c2758TTimer events client PAGEREF section_52897d972943484fb00fe938784951a116 server PAGEREF section_52c343a221b84ceb91278f760eeb984619Timers client PAGEREF section_5a5a986ff8c84c878abd092090e9d54715 server PAGEREF section_3347ebde9dce4f28849575f3d670d3ff17Tracking changes PAGEREF section_0d4fb44121d84f52bfa236efeece508c25Transport PAGEREF section_9daeb42f478a4f7d94049330c34a6cfc9Triggered events - client requesting details for one or more notes PAGEREF section_6520f35dfe02479c9fd77a8229574e2515 searching a server for notes PAGEREF section_41dde0b0a46e4815a8fc342f72f5ac3b15 synchronizing notes with the server PAGEREF section_19fc2b4beef44bed96774b936cb84a2715Triggered events - server retrieving details for one or more notes PAGEREF section_980e1d8f26eb414aad300429ad61a25317 searching for notes data PAGEREF section_5c5b7acb82cd4b6fa469a9896da597e717 synchronizing notes with the server PAGEREF section_0390a06eef94437babc4470d5c041c1717VVendor-extensible fields PAGEREF section_b5afd5aebe2f4ce794e9dfa1a63c25c88Versioning PAGEREF section_ce08e50d82e54bd1907347e18952e7978XXML schema PAGEREF section_f04bc4a22ad6466392d6a79c47bff1de23 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download