3.2.5.7 Executing a Received Invoke Request

The directives defined in this section apply when executing a received Invoke request, as specified in Invoke Request (section 2.2.7.5).

The server MUST validate that the HTTP request URI identifies a service operation exposed by the data service. If this validation fails, a 4xx response code MUST be returned. If the validation succeeds, the server MUST read all required input parameter values from the request URI query string. If any of the parameter values are malformed, a 4xx response code MUST be returned. If the request URI is valid, the server MUST invoke the FunctionImport, as specified in [MC-CSDL], associated with the service operation by using the parameter values specified in the request URI.

If a FunctionImport requires an input parameter not present in the request URI, the server SHOULD pass null for the parameter value to the function. If the parameter type is not nullable, as specified in [MC-CSDL], a 4xx response code MUST be returned.

If the FunctionImport, as specified in [MC-CSDL], is invoked successfully, the return value MUST be serialized according to the syntax rules defined in Invoke Request (section 2.2.7.5).