Oracle Web Services On Demand Guide > Overview of Web Services On Demand > Web Services and the Oracle CRM On Demand Objects >

Web Service APIs


Starting with Web Services On Demand Version 4.0 (CRM On Demand Release 16) , objects are accessible through two APIs:

  • Web Services v1.0. Used to interact with Custom Objects 01-03, as well as preconfigured objects.
  • Web Services v2.0. Used to interact with all Oracle CRM On Demand Custom Objects, as well as preconfigured objects. Also used to access custom Web applets.

Before Web Services On Demand Version 4.0, only the Web Services v1.0 was available. In addition, the following APIs are provided:

  • Service APIs. Used to perform management tasks and retrieve integration events through Web services.
  • Administrative Services APIs. Used to access company metadata through Web services.

For the Web Services v1.0 API, operations work on the parent objects and all child components are synchronized with the parent. The Web Services v2.0 API, however, works on a node basis, where parent and child components are treated as separate nodes.

The Web Services v2.0 API provides an Execute method for performing multiple operations on separate nodes, and the Web Services v2.0 QueryPage method offers additional options (through the searchspec, namedsearchspec, sortorder, and sortsequence arguments) for issuing queries compared to the Web Services v1.0 QueryPage method.

Table 2 shows the methods available through the Web Services v1.0 and Web Services v2.0 APIs for access to objects.

Table 2. Web Services v1.0  and Web Services v2.0 Methods
Web Services v1.0
Web Services v2.0
Comments

Delete

Delete

Finds records in the Oracle CRM On Demand database that match specified field values, and then deletes them. Deleted records are visible in the Deleted Items area of the Oracle CRM On Demand UI and can be queried using the DeletedItemQueryPage method.

DeleteChild

Not applicable

Deletes child records from the Oracle CRM On Demand database, or removes the association between the child and the parent object.

Not applicable

Execute

Executes multiple update, insert, and delete operations on separate records in the Oracle CRM On Demand database within the same Web services request.

Insert

Insert

Inserts new records into the Oracle CRM On Demand database.

InsertChild

Not applicable

Inserts new child records into the Oracle CRM On Demand database.

InsertOrUpdate

Not applicable

Updates existing records or inserts a new record if one did not exist.

QueryPage

QueryPage

Executes a query against a specified list of records, and returns a subset of the records that match the search criteria set by the method arguments.

Update

Update

Updates records with a new value.

UpdateChild

Not applicable

Updates child records with a new value.

Table 3 shows differences between Web Services v1.0 and Web Services v2.0.

Table 3. Web Services v1.0  and Web Services v2.0 Differences
Web Services v1.0
Web Services v2.0

Supports an upsert operation through InsertOrUpdate call

Does not support an upsert operation

Pagination parameters are supported only at the parent level

Pagination parameters are supported at both the parent and child level

Returns all child records even if the condition is true for one child.

For example, the QueryPage call returns all partner children from an account even if the condition is true for only one partner child

Outputs only the specific child whose condition was met.

For example, QueryPage returns only the specific partner child from the account for which the condition was true.

UseChildAnd argument of QueryPage call is available for using OR/AND logic between parent and child

The UseChildAnd argument is not available.

Instead, by default, all parent records matching the parent criteria and only children matching the child criteria are returned.

Operators cannot be used to construct complex queries across multiple fields

The SearchSpec argument of QueryPage can be used to construct complex queries across multiple fields in a request. For example, the OR operator can be used to find all records that match the specified condition for [Field A] OR the specified condition for [Field B].

Sort order is not customizable

Sortorder and sortsequence arguments are available to customize the sorting order of the records

Update call removes child objects not specified in the request

An Execute call with "operation=update" at the parent level removes the unspecified children in the request

InsertChild call is used to insert the children for existing parent objects

For Web Services v2.0:

  • Insert call can be used to insert both parent records and child records.
  • If a child node is specified in the request, the Insert call inserts the child and associates it with the existing parent record.
  • If a child node is missing, the Insert call inserts only the new parent record.

UpdateChild call is used to update child records

For Web Services v2.0:

  • Update call can be used to update parent records and child records
  • If a child node is specified in the request, the Update call updates the child in the existing parent record
  • If the child node is missing, the Insert call updates only the existing parent record

DeleteChild call is used to delete the child records

For Web Services v2.0:

  • Delete call can be used to delete both parent records and child records
  • If the child node specified in the request is available, the Delete call deletes the child in the existing parent record, and leaves the parent record undeleted.
  • If the child node is missing, the Delete call deletes the existing parent record.

InsertChild, UpdateChild, and DeleteChild methods are used to perform operations on child records

In an Execute request, a specific node within the request can be skipped using the "operation=skipnode" attribute.

This can be used to simulate InsertChild, UpdateChild or DeleteChild by skipping the parent node and only performing the specified actions on the child records.

LOVLanguageMode argument is not available

The LOVLanguageMode argument is an input argument for all of the Web Services v2.0 calls. It determines whether the processing for picklist fields occurs using language independent codes (LIC) or language dependent codes (LDC).

ViewMode argument is not available

The ViewMode argument, which specifies the level of access to records specified in the method call, is available for all of the Web Services v2.0 calls.

Does not support access to custom Web applets.

Supports access to custom Web applets as read-only child objects of a parent object.

There are some differences between the format of the WSDL files for Web Services v1.0 and Web Services v2.0:

  • In the Web Services v2.0 API, strong data typing is supported. Therefore, in the Web Services v2.0 WSDL files, fields are represented by a range of xsd: data types, while in Web Services v1.0 WSDL files, all fields have the xsd:string data type. For more information, see Field Types Supported by Oracle CRM On Demand.
  • In Web Services v2.0, messages do not include the business service name, and have the format:

    [Objectname][Method]_[Input/Output]

    For example:

    AccountInsert_Input, ContactQueryPage_Output

    as opposed to the following for Web Services v1.0:

    AccountWS_AccountInsert_Input, ContactWS_ContactQueryPage_Output

  • The target namespace of the WSDL for Web Services v2.0 is:

    urn:crmondemand/ws/ecbs/objectname/

    compared to the following for Web Services v1.0:

    urn:crmondemand/ws/objectname/

Oracle Web Services On Demand Guide, Version 21.0 (Oracle CRM On Demand Release 33) Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Legal Notices.