WITSML STORE Application Program Interface (API) v1.4.1
Document Version: DOC1.4.1-v3/July 2014 Page 18
3.3 Server Data Compression
Servers MUST support gzip HTTP compression for server response and the compression must be
compliant with IETF RFC 2616 (HTTP 1.1) Section 3.5 (Content Codings).
For client requests, some WITSML functions support alternate compression capabilities, which are
explained in the sections for those functions in Chapter 6, page 41.
3.4 Key API Components
Key components of the STORE Interface are listed and described here.
Component Description/Purpose
XML templates The STORE interface uses the concept of a template, which is a well-formed
XML document that specifies “by example” what WITSML data-objects and data
items within those data-objects are to be acted upon. Clients use templates in
the XMLin parameter of the various STORE interface functions.
For more information on templates, see Section 4.1, page 23.
WSDL file The WSDL file, which is sometimes called the API Signature, is a contract
between the provider system (server) and the consumer system (client) that
specifies how the Web service will interact in terms of what function calls are
available, their parameters, the protocols they run over and where the service is
located.
The file is created using the Web Services Description Language (WSDL), an
XML format for describing these types of network services.
For more information, see Section 4.3, page 34.
Capabilities Objects Special data-objects used by the STORE Interface to exchange information
about the capabilities of a client or a server. The client and server each has its
own Capabilities Object—capClient and capServer.
For more information, see Section 4.2, page 28.
Functions The basic tasks or functionality that can be performed with the STORE Interface
are contained in functions. The functions are developed using WSDL.
For more information, see Chapter 6, page 41.
3.4.1 Schema Variants
The following schemas represent generated variants of the normative data schemas. These schemas are
only normative when used within the context of a Web service. They are used to accommodate the
different requirements for mandatory data for the various actions (e.g., retrieve, add, update, and delete)
of the Web services. The object plural version attribute is required in all variants.
Schema Type Copies of the normative schema file with the following exceptions:
Read Schema All elements and attributes are optional and all choices have been eliminated. If used
within a WITSML Web service, these schema files must represent the XMLout response
from the WITSML WMLS_GetFromStore function (see Section 6.6, page 54).
Write Schema All uids and parentage-uids are mandatory (object-uids remain optional). If used within a
WITSML Web service, these schema files must represent the XMLin input to the
WITSML WMLS_AddToStore function (see Section 6.4, page 47).
Update Schema All elements and attributes are optional except that all unique identifier attributes and
uom attributes are mandatory. If used within a WITSML Web service, these schema files
must represent the XMLin input to the WITSML WMLS_UpdateInStore function (see
Section 6.6, page 54).
Delete Schema All elements and attributes are optional except for all object uids and parentage-pointers,
which are mandatory. If used within a WITSML Web service, these schema files must
represent the QueryIn input to the WITSML WMLS_DeleteFromStore function (see
Section 6.5, page 50).