2.2.3.7.1 Service Document

For a client to interact with a data service, it needs to discover the locations of the available collections of resources AtomPub [RFC5023] defines Service Documents to support this discovery process.

The ServiceRoot of a data service MUST identify the Service Document for the data service.

Service Document (section 2.2.6.2.7) describes how Entity Data Model (EDM) constructs are represented in a Service Document. As per [RFC5023], AtomPub Service Documents MUST be identified with the "application/atomsvc+xml" media type (see [RFC5023] section 8).

See Service Document in [MS-ODATAJSON] section 2.1.16 for details about the representation of the data provided by a Service Document in the preferred OData 3.0 JSON format.

Service Document (section 2.2.6.3.12) describes a Verbose JSON representation of the data provided by a Service Document. The section also describes how EDM constructs are represented in the Verbose JSON-based Service Document. Verbose JSON Service Documents MUST be identified using the "application/jsonodata=verbose" media type.

EntitySets that are contained by a different EntitySet (see Containment (section 2.2.1.6)) MUST NOT have a corresponding collection for AtomPub (section 2.2.6.2.7) or a corresponding EntitySet for JSON ([MS-ODATAJSON] section 2.1.16) or for Verbose JSON (section 2.2.6.3.12) in the Service Document, as described in this section.