3.1.4.6 Request to Invoke a Service Operation

When the higher layer needs to invoke a Service Operation in a data service, it MUST cause the client to send the appropriate Invoke Request (section 2.2.7.5) type.

The higher layer MUST provide the request URI, which the higher layer obtained from a prior data service response or other means. As defined by the Invoke request types, Invoke Request (section 2.2.7.5), the URI MUST identify the service operation to be invoked.

Invoke requests MUST adhere to the syntax rules specified in Invoke Request (section 2.2.7.5).

If the Invoke request URI provided by the higher layer identifies a Service Operation that returns a collection of EntityType instances, system query options and additional resource path segments might be included in the request URI, as described in Query Options (section 2.2.3.6) and Resource Path: Semantics (section 2.2.3.5).

Request headers MAY be provided with Invoke request types. However, this document defines no additional meaning or semantics to such request headers.

If the data service identified by the request URI supports tunneled requests, then an Invoke Request (section 2.2.7.5) MAY be sent as a tunneled request (section 2.2.7.7).

Rules for processing the response to Service Operation requests are specified in Common Rules for Receiving Responses from Data Service Requests (section 3.1.5.1).