Step 4: Defining Service Operations
Data service operations are written to invoke queries. Therefore, defining operations is the 4th step in the process of creating a data service. Follow the steps given below.
Log in to the management console and select Create under Data Service menu. Following the instructions given here.
Click Next to add a data source. Follow the instructions in Step 2: Adding Datasources.
Click Next to add a query to the data source. Follow the instructions in Step 3: Writing Data Service Queries.
Click Next to add an operation to invoke the queries.
The Add Operation page appears. Provide a name for the operation and select the query to execute when the operation is invoked. For example,
Also, see enable streaming.
You can get a SOAP response instead of an HTTP 202 when invoking an IN-ONLY operation by setting the returnRequestStatus attribute to true in a dataservice operation. For example,
<operation name="operation1" returnRequestStatus="true">
<call-query href="QRY_INSERT_DM">
<with-param name="dm1" query-param="dm1"/>
<with-param name="dm2" query-param="dm3"/>
</call-query>
Handling Faulty Requests
A structured SOAP fault message will be returned for an incorrect invocation of the data service. For example, if you use an invalid value to invoke a data service that validates the length of the parameters, a SOAP fault with VALIDATION_ERROR code will be returned. A SOAP fault message is constructed as given in the following XML schema structure.
<xs:element name="DataServiceFault">
<xs:complexType>
<xs:sequence>
<xs:element name="current_params" type="xs:string"/>
<xs:element name="current_request_name" type="xs:string"/>
<xs:element name="nested_exception" type="xs:string"/>
<xs:element name="source_data_service">
<xs:complexType>
<xs:sequence>
<xs:element name="location" type="xs:string"/>
<xs:element name="default_namespace" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="data_service_name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ds_code" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>