3 Protocol Details


In the following sections, the schema definition might differ from the processing rules imposed by the protocol. The WSDL in this specification matches the WSDL that shipped with the product and provides a base description of the schema. The text that introduces the WSDL might specify differences that reflect actual Microsoft product behavior. For example, the schema definition might allow for an element to be empty, null, or not present but the behavior of the protocol as specified restricts the same elements to being non-empty, not null, and present.

The client side of this protocol simply passes calls through, and no additional timers or other state is required. Calls made by the higher-layer protocol or application are passed directly to the transport, and the results returned by the transport are passed directly back to the higher-layer protocol or application.

Except where specified, protocol clients SHOULD interpret HTTP status codes returned by the protocol server as specified in [RFC2616] section 10.

This protocol allows protocol servers to perform implementation-specific localization of text in various messages. Except where specified, the localization of this text is an implementation-specific behavior of the protocol server and not significant for interoperability.

The following high-level sequence diagram illustrates the operation of the protocol.

High-level sequence diagram

Figure 2: High-level sequence diagram

Session Behavior

View Sessions

A view session is created on a successful OpenWorkbook or OpenWorkbookEx request. A view session stops responding to operations after a successful call to the CloseWorkbook operation or after the view session has timed out.

New Workbook Sessions

A new workbook session is created on a successful NewWorkbook request. A new workbook session stops responding to operations after a successful call to the CloseWorkbook operation or after the new workbook session has timed out.

Edit Sessions

An edit session is created on a successful OpenWorkbookForEditing request, unless one already exists for the same workbookPath, as specified in OpenWorkbookForEditing (section A new participant is added to the edit session on a successful OpenWorkbookForEditing request.

A participant that makes a call to CloseWorkbook is removed from the edit session if the operation completes successfully. An edit session stops responding to operations when all of its participants are removed.

Request Behavior

A request is created when a Web service operation starts running on the server, and ends when the Web service operation finishes, when it is successfully cancelled by a CancelRequest call, or after the request has timed out.