WITSML
.NET AGENT
Overview
The WITSML connector enables Seeq to access data from WITSML 1.4.1.1 (via SOAP or ETP) and 2.0 (via ETP) servers. The connector indexes wells, wellbores, and time logs. Each mnemonic (WITSML 1.4.1.1) or channel (WITSML 1.4.1.1 over ETP or WITSML 2.0) is indexed as a signal in Seeq, with metadata including the Name, Description, Value Unit of Measure (unit), DataSource, StartDateTimeIndex and EndDateTimeIndex. Signals can be organized into an asset tree using wells, wellbores, and log levels as assets.
Prerequisites
The WITSML Connector is licensed as a Seeq Connector Plus and will not start up unless the Seeq Server installation is licensed to support it. Please contact your Seeq Sales Executive or Account Manager for more information regarding licensing.
Configuration
This is an example configuration template that is displayed in the Additional Configuration box that appears when you click Configure for an existing datasource (or if a new datasource is being created, in the Create new datasource connection modal that appears after clicking Add Datasource) on the Datasources administration page.
{
"ServerUri": "http://my.company.net/Witsml.Web/api/soap",
"Username": null,
"Password": null,
"UseDefaultCredentials": false,
"WitsmlVersion": "WITSML1411",
"ProtocolVersion": "SOAP",
"BuildAssetTree": true,
"EtpGetResourcesRequestTimeout": null,
"EtpChannelRangeRequestTimeout": null
}
WITSML Additional Configuration
Property Name | Default Value | Data Type | Description |
---|---|---|---|
| null | String | This is the URI for the WITSML server. If the server is a WITSML 1.4.1.1 SOAP server, the address will begin with |
| null | String | The username for connecting to the WITSML server. |
| null | String/SecretFile | The password for the account specified in the |
|
| Boolean | This field is only applicable when connecting to a WITSML 1.4.1.1 server over SOAP. This sets the UseDefaultCredentials property of the WMLS accordingly; this in turn causes the System.Net.CredentialsCache.DefaultCredentials to be used for authentication to the WITSML server, which usually means that the credentials of the account running the .NET Agent are those used for the connection. |
| null | String | This is the WITSML server version. It should be set to either |
| null | String | This is the protocol version supported by the WITSML server. It should be set to Note that for ETP connections, only ChannelRangeRequests are performed on the ChannelStreaming protocol. |
|
| Boolean | Set to Note that for ETP connections, the ChannelSet level is not represented in the tree. In some cases, it may be desirable to group Wells into subtrees rather than a flat list under the root asset; in this case, it is recommended to set |
| null | Integer | This is the maximum number of results to return in a single ChannelData request when a ChannelRangeRequest is made. This parameter must be set to null if a WITSML server only returns a MessageFlags of 1 in response to ChannelRangeRequests. In this case, there is no way to determine when a response is complete, and requests will time out; to avoid this, setting |
| null | Integer | This is the time in seconds after which a GetResources or GetObject request will time out. |
| null | Integer | This is the time in seconds after which a ChannelRangeRequest will time out. |
|
| Boolean | Set to |
Known Issues
There are no known issues for the WITSML connector. Please report any issues you find to our support portal.
Troubleshooting
You may need to update the MaxResultsPerRequest
configuration parameter for some ETP connections. For WITSML servers that never return a ChannelData with MessageFlags set to 3, it is critical that MaxResultsPerRequest
be set below the limit set by the server. For example, if the server sends ChannelData messages that contain at most 10000 samples, the MaxResultsPerRequest
should be set to 9999 or less. This is to ensure that Seeq can use the presence or absence of an additional sample to determine whether to make further requests when the last sample returned has a timestamp prior to the end timestamp of the request.
If you are running into other issues with connecting to or access data from WITSML, view our guide for troubleshooting datasource issues.
Performance considerations
You may want to tweak the MaxResultsPerRequest
configuration parameter for some ETP connections. When a server responds to ChannelRangeRequests with ordered ChannelData messages that have a MessageFlags value of 1 for all but the last message, and a MessageFlags value of 3 for the last message, the MaxResultsPerRequest
parameter can be set to tune query performance or left as null to use the limit set in Seeq Administration interface.
Additionally, view our guide on optimizing datasource performance for general guidance.