# XML-DA base types
GetStatus:
product:
localeId: Maybe Text
clientRequestHandle: Maybe Text
GetStatusResponse:
product:
result: Maybe ReplyBase
status: Maybe ServerStatus
ReplyBase:
product:
rcvTime: UTCTime
replyTime: UTCTime
clientRequestHandle: Maybe Text
revisedLocaleId: Maybe Text
serverState: ServerState
ServerState:
enum:
- running
- failed
- noConfig
- suspended
- test
- commFault
ServerStatus:
product:
statusInfo: Maybe Text
vendorInfo: Maybe Text
supportedLocaleIds: Vector Text
supportedInterfaceVersions: Vector Text
startTime: UTCTime
productVersion: Maybe Text
Read:
product:
options: Maybe RequestOptions
itemList: Maybe ReadRequestItemList
RequestOptions:
product:
returnErrorText: Bool
returnDiagnosticInfo: Bool
returnItemTime: Bool
returnItemPath: Bool
returnItemName: Bool
requestDeadline: Maybe UTCTime
clientRequestHandle: Maybe Text
localeId: Maybe Text
ReadRequestItemList:
product:
items: Vector ReadRequestItem
itemPath: Maybe Text
reqType: Maybe QName
maxAge: Maybe Int32
ReadRequestItem:
product:
itemPath: Maybe Text
reqType: Maybe QName
itemName: Maybe Text
clientItemHandle: Maybe Text
maxAge: Maybe Int32
ReadResponse:
product:
readResult: Maybe ReplyBase
rItemList: Maybe ReplyItemList
errors: Vector OpcError
ReplyItemList:
product:
items: Vector ItemValue
reserved: Maybe Text
ItemValue:
product:
diagnosticInfo: Maybe Text
value: Maybe Value
quality: Maybe OpcQuality
valueTypeQualifier: Maybe QName
itemPath: Maybe Text
itemName: Maybe Text
clientItemHandle: Maybe Text
timestamp: Maybe UTCTime
resultId: Maybe QName
OpcQuality:
product:
qualityField: QualityBits
limitField: LimitBits
vendorField: Word8
QualityBits:
enum:
- bad
- badConfigurationError
- badNotConnected
- badDeviceFailure
- badSensorFailure
- badLastKnownValue
- badCommFailure
- badOutOfService
- badWaitingForInitialData
- uncertain
- uncertainLastUsableValue
- uncertainSensorNotAccurate
- uncertainEUExceeded
- uncertainSubNormal
- good
- goodLocalOverride
LimitBits:
enum:
- none
- low
- high
- constant
OpcError:
product:
text: Maybe Text
id: QName
Write:
product:
options: Maybe RequestOptions
itemList: Maybe WriteRequestItemList
returnValuesOnReply: Bool
WriteRequestItemList:
product:
items: Vector ItemValue
itemPath: Maybe Text
WriteResponse:
product:
writeResult: Maybe ReplyBase
rItemList: Maybe ReplyItemList
errors: Vector OpcError
Subscribe:
product:
options: Maybe RequestOptions
itemList: Maybe SubscribeRequestItemList
returnValuesOnReply: Bool
subscriptionPingRate: Maybe Int32
SubscribeRequestItemList:
product:
items: Vector SubscribeRequestItem
itemPath: Maybe Text
reqType: Maybe QName
deadband: Maybe Float
requestedSamplingRate: Maybe Int32
enableBuffering: Maybe Bool
SubscribeRequestItem:
product:
itemPath: Maybe Text
reqType: Maybe QName
itemName: Maybe Text
clientItemHandle: Maybe Text
deadband: Maybe Float
requestedSamplingRate: Maybe Int32
enableBuffering: Maybe Bool
SubscribeReplyItemList:
product:
items: Vector SubscribeItemValue
revisedSamplingRate: Maybe Int32
SubscribeItemValue:
product:
# We're avoiding a Maybe here, since the spec says that it has minOccurs set to 0
# only to satisfy the needs of some codegen tools.
# See Section 3.5.2 of the spec.
itemValue: ItemValue
revisedSamplingRate: Maybe Int
SubscribeResponse:
product:
subscribeResult: Maybe ReplyBase
rItemList: Maybe SubscribeReplyItemList
errors: Vector OpcError
serverSubHandle: Maybe Text
SubscriptionPolledRefresh:
product:
options: Maybe RequestOptions
serverSubHandles: Vector Text
holdTime: Maybe UTCTime
waitTime: Int32
returnAllItems: Bool
SubscribePolledRefreshReplyItemList:
product:
items: Vector ItemValue
subscriptionHandle: Maybe Text
SubscriptionPolledRefreshResponse:
product:
subscriptionPolledRefreshResult: Maybe ReplyBase
invalidServerSubHandles: Vector Text
rItemList: Vector SubscribePolledRefreshReplyItemList
errors: Vector OpcError
dataBufferOverflow: Bool
SubscriptionCancel:
product:
serverSubHandle: Maybe Text
clientRequestHandle: Maybe Text
SubscriptionCancelResponse:
product:
clientRequestHandle: Maybe Text
Browse:
product:
propertyNames: Vector QName
localeId: Maybe Text
clientRequestHandle: Maybe Text
itemPath: Maybe Text
itemName: Maybe Text
continuationPoint: Maybe Text
maxElementsReturned: Int32
browseFilter: BrowseFilter
elementNameFilter: Maybe Text
vendorFilter: Maybe Text
returnAllProperties: Bool
returnAllPropertyValues: Bool
returnErrorText: Bool
BrowseFilter:
enum:
- all
- branch
- item
BrowseElement:
product:
properties: Vector ItemProperty
name: Maybe Text
itemPath: Maybe Text
itemName: Maybe Text
isItem: Bool
hasChildren: Bool
ItemProperty:
product:
value: Maybe Value
name: QName
description: Maybe Text
itemPath: Maybe Text
itemName: Maybe Text
resultId: Maybe QName
BrowseResponse:
product:
browseResult: Maybe ReplyBase
elements: Vector BrowseElement
errors: Vector OpcError
continuationPoint: Maybe Text
moreElements: Bool
GetProperties:
product:
itemIds: Vector ItemIdentifier
propertyNames: Vector QName
localeId: Maybe Text
clientRequestHandle: Maybe Text
itemPath: Maybe Text
returnAllProperties: Bool
returnPropertyValues: Bool
returnErrorText: Bool
ItemIdentifier:
product:
itemPath: Maybe Text
itemName: Maybe Text
PropertyReplyList:
product:
properties: Vector ItemProperty
itemPath: Maybe Text
itemName: Maybe Text
resultId: Maybe QName
GetPropertiesResponse:
product:
getPropertiesResult: Maybe ReplyBase
propertyLists: Vector PropertyReplyList
errors: Vector OpcError
# Standard OPC result code as per the definition in the 3.1.9 section of the spec.
ResultCode:
enum:
## Success
# The value written was accepted but the output was clamped.
# S_CLAMP
- clamp
# Not every detected change has been returned since the server's buffer reached its limit and had to purge out the oldest data.
# S_DATAQUEUEOVERFLOW
- dataQueueOverflow
# The server does not support the requested rate but will use the closest available rate.
# S_UNSUPPORTEDRATE
- unsupportedRate
## Failure
# The server denies access (read and/or write) to the specified item. This error is typically caused by Web Service security (e.g. globally disabled write capabilities).
# E_ACCESS_DENIED
- accessDenied
# The server is currenly processing another polled refresh for one or more of the subscriptions.
# E_BUSY
- busy
# Unspecified error.
# E_FAIL
- fail
# The continuation point is not valid.
# E_INVALIDCONTINUATIONPOINT
- invalidContinuationPoint
# The filter string is not valid.
# E_INVALIDFILTER
- invalidFilter
# The hold time is too long (determined by server).
# E_INVALIDHOLDTIME
- invalidHoldTime
# The item name does not conform the server’s syntax.
# E_INVALIDITEMNAME
- invalidItemName
# The item path does not conform the server’s syntax.
# E_INVALIDITEMPATH
- invalidItemPath
# The property id is not valid for the item.
# E_INVALIDPID
- invalidPid
# An invalid set of subscription handles was passed to the request.
# E_NOSUBSCRIPTION
- noSubscription
# The server does not support writing to the quality and/or timestamp.
# E_NOTSUPPORTED
- notSupported
# Ran out of memory.
# E_OUTOFMEMORY
- outOfMemory
# The value was out of range.
# E_RANGE
- range
# The value is read only and may not be written to.
# E_READONLY
- readOnly
# The operation could not complete due to an abnormal server state.
# E_SERVERSTATE
- serverState
# The operation took too long to complete (determined by server).
# E_TIMEDOUT
- timedOut
# The item name is no longer available in the server address space.
# E_UNKNOWNITEMNAME
- unknownItemName
# The item path is no longer available in the server address space.
# E_UNKNOWNITEMPATH
- unknownItemPath
# The value is write-only and may not be read from or returned as part of a write response.
# E_WRITEONLY
- writeOnly
QName:
sum:
namespaced:
- Text
- Text
unnamespaced: Text
Value:
sum:
string: Text
boolean: Bool
float: Float
double: Double
decimal: Scientific
long: Int64
int: Int32
short: Int16
byte: Int8
unsignedLong: Word64
unsignedInt: Word32
unsignedShort: Word16
unsignedByte: Word8
base64Binary: ByteString
dateTime: UTCTime
time: Time
date: Date
duration: Duration
qName: QName
arrayOfByte: Uv.Vector Int8
arrayOfShort: Uv.Vector Int16
arrayOfUnsignedShort: Uv.Vector Word16
arrayOfInt: Uv.Vector Int32
arrayOfUnsignedInt: Uv.Vector Word32
arrayOfLong: Uv.Vector Int64
arrayOfUnsignedLong: Uv.Vector Word64
arrayOfFloat: Uv.Vector Float
arrayOfDecimal: Vector Scientific
arrayOfDouble: Uv.Vector Double
arrayOfBoolean: Uv.Vector Bool
arrayOfString: Vector Text
arrayOfDateTime: Vector UTCTime
arrayOfAnyType: Vector (Maybe Value)
opcQuality: OpcQuality
nonStandard:
product:
type: QName
xml: "[Xml.Node]"
SoapFault:
product:
code: SoapFaultCode
reason: Text
SoapFaultCode:
sum:
std: StdSoapFaultCode
custom: QName
# https://www.w3.org/TR/soap12-part1/#faultcodes
StdSoapFaultCode:
enum:
# The faulting node found an invalid element information item instead of the expected Envelope element information item. The namespace, local name or both did not match the Envelope element information item required by this recommendation (see 2.8 SOAP Versioning Model and 5.4.7 VersionMismatch Faults)
- versionMismatch
# An immediate child element information item of the SOAP Header element information item targeted at the faulting node that was not understood by the faulting node contained a SOAP mustUnderstand attribute information item with a value of "true" (see 5.2.3 SOAP mustUnderstand Attribute and 5.4.8 SOAP mustUnderstand Faults)
- mustUnderstand
# A SOAP header block or SOAP body child element information item targeted at the faulting SOAP node is scoped (see 5.1.1 SOAP encodingStyle Attribute) with a data encoding that the faulting node does not support.
- dataEncodingUnknown
# The message was incorrectly formed or did not contain the appropriate information in order to succeed. For example, the message could lack the proper authentication or payment information. It is generally an indication that the message is not to be resent without change (see also 5.4 SOAP Fault for a description of the SOAP fault detail sub-element).
- sender
# The message could not be processed for reasons attributable to the processing of the message rather than to the contents of the message itself. For example, processing could include communicating with an upstream SOAP node, which did not respond. The message could succeed if resent at a later point in time (see also 5.4 SOAP Fault for a description of the SOAP fault detail sub-element).
- receiver