Messages Transport Messages are transported by HTTP POST and HTTP OPTIONS, as specified in . These commands are sent via HTTP or Hypertext Transfer Protocol over Secure Sockets Layer (HTTPS). The query parameters in the request can be encoded with (see section ) or in plain text (see section ). The body of the HTTP message contains the WBXML that is required by the command being communicated in the message. The commands are specified in . Message Syntax The XML markup that constitutes the request body (section ) or the response body (section ) is transmitted between client and server by using Wireless Application Protocol (WAP) Binary XML (WBXML), as specified in . The following are the two general of messages: HTTP POST HTTP OPTIONS HTTP POST Request The client creates a request by using the HTTP POST command to initiate communications between the client and the server. Request Format Each command is sent from the client to the server as an HTTP POST containing command data. As specified by , the format is as follows. Request-line Request-headers CR/LF Request Body Request Line The request line consists of the method indicator, POST, followed by the URI, followed by the HTTP version, as follows. POST <URI> HTTP/1.1 The URI can be either an absolute URI or a relative URI, as specified in section 3.2.1. The absolute URI consists of a scheme indicator, the host name, and the path, followed by a query value. The relative URI consists of the path and the query value. The path and query value in the URI have the following format. /<ActiveSync virtual directory value>
authentication. For details, see section . Content-Type Depends on the command. Specifies that the media type of the request body is WBXML. Other types of content, such as , can also be specified, depending on the command. For more details, see section . Cookie Depends on the contents of previous server responses and the protocol version in use. Contains one or more cookies that the client previously received from the server in a Set-Cookie header. For more details, see section . No Specifies that the client wants items returned in multipart format. For more details, see section . No if using a base64 encoded query value; yes if using a plain text query value. Specifies the version of the ActiveSync protocol that the client supports. For more details, see section . User-Agent No Contains information about the client sending the request. For more details, see section .
Protocol syntax refers to data elements (such as packets, structures, enumerations, and methods) as well as interfaces. Protocol revision refers to changes made to a protocol that affect the bits that are sent over the wire. The changes made to this document are listed in the following For more information, please contact . Section Tracking number (if applicable) and description Major change (Y or N) Change type Versioning and Capability Negotiation Updated the latest supported version. Y Content update. Request Line Updated the description of the supported protocol versions. Y Content update. Base64-Encoded Query Value Updated the supporting protocol versions. Y Content update. Request Headers Added the Cookie header and its description. Y Content update. Updated the supported protocol version values. Y Content update. Cookie Added this section. Y New content Status Line Added status values 456 and 457 and their descriptions. Y Content update. Response Headers Updated the example values for X-MS-Location, and X-MS-RP. Y Content update. 2.2.2.1.2 Response Headers Updated the list of protocol versions. Y Content update. 2.2.2.1.2 Response Headers Added the and Set-Cookie headers and their descriptions. Y New content added. Cache-Control Specified that the Cache-Control header is optional. N Content update.
Updated the list of protocol versions. Y Content update. this section. Y New content added. Added this section. Y New content added. Set-Cookie Added this section. Y New content added. Response Headers Updated the example values for Y Content update. 2.2.4.1.2 Response Headers Added the header and its description. Y Content update. Updated the supported protocol version values. Y Content update. Set-Cookie Added this section. Y New content added. Handling a Successful Response Updated the descriptions of the returned headers. Y Content update. Handling a Failed Response this section. Y New content added. HTTP Error 401, 403, and 500 Added this section. Y New content added. HTTP Error 456 and 457 Added this section. Y New content added. Handling HTTP POST Command Requests Updated the list of products that can be configured to track changes to the User-Agent header. N Product behavior note updated. 3.2.5.1 Handling HTTP POST Command Requests Updated list of applicable products. Y Product behavior note updated.
3.2.5.1 Handling HTTP POST Command Requests Clarified the descriptions of parsing and of error returns. Y Content update. User-Agent Change Tracking Updated list of applicable products. Y Product behavior note updated. Handling HTTP OPTIONS Command Requests Updated the description of the return values by product. Y Product behavior note updated. 3.2.5.2 Handling HTTP OPTIONS Command Requests Updated the supported protocol version values. Y Content update. 3.2.5.2 Handling HTTP OPTIONS Command Requests Clarified the server actions when parsing HTTP OPTIONS requests. Y Content update. Appendix A: Product Behavior Updated list of applicable products. Y Content update.
Index A Abstract data model 24 26 8 C 9 35 Client 24 24 24 24 26 24 26 24 31 D Data model - abstract 24 26 E Examples 31 29 29 30 30 F 9 29 29 G 5 H Higher-layer triggered events 24 26 30 22 22 10 17 I 33 33 8 Initialization 24 26 5 M Message processing 24 26 Messages 22 22 10 17 10 N 7 O Other local events 26 28 8 P 33 8 8 34 R 7 8 7 8 S Security 33 33 30 Sequencing rules 24 26 Server 26 26 26 26 28 26 26