The Web Service Description Language (WSDL) file used to expose the STORE interface to SOAP clients is listed below. A narrative describing several key points follows the file listing.
IMPORTANT
In order to ensure interoperability between implementations,
, and
elements --> element declares user-defined machine and language independent data types, and is not needed for the WITSML STORE interface, which uses only W3C-defined data types --> elements define request/response messages and their parameters-->
element groups the functions (operations) into an interface -->
elements define the function signatures (operation name and parameters) and associate the input and output messages -->
and elements -->
specifies the protocol binding for each operation in the
section -->
specifies the portType for each binding and the URL of the service -->
7.6.2Narrative
The only part of the WSDL file that should normally be modified is the location attribute of the SOAP address element. This should be set to the URL of the Web Service (see implementation specifics below):
location='http://yourorg.com/yourwebservice' />
The WSDL file complies with Version 1.1 of the Web Services Description Language (www.w3.org/TR/wsdl)
The target namespace and wsdlns prefix used in the WSDL file are both declared as:
'http://www.witsml.org/wsdl/120'
targetNamespace='http://www.witsml.org/wsdl/120'
xmlns:wsdlns='http://www.witsml.org/wsdl/120'
A default namespace declaration is used to make the document more readable:
The soapAction attribute of the SOAP operation elements specify a WITSML-related URI: http://www.witsml.org/action/120/Store.WMLS_xxxx
The soapAction attribute is used by the HTTP transport as the value of the SOAPAction HTTP header. Its use is not clear as of this writing; SOAP 1.1 states that it can be used to identify the “intent” of messages.
Although XML generally ignores white-space, the values of certain XML attributes and elements may be sensitive to the amount of white-space. For example, the parameterOrder attribute of the element must have only a single space between parameters:
For an easy-to-read, understandable introduction to WSDL files, see the article titled “Web Services Description Language (WSDL) Explained” by Carlos C. Tapang - Infotects (in the Microsoft MSDN Library and elsewhere).