1
<?xml version="1.0" encoding="utf-8"?>
2
<s:schema elementFormDefault="qualified" targetNamespace="http://opcfoundation.org/webservices/XMLDA/1.0/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://opcfoundation.org/webservices/XMLDA/1.0/">
3
<s:element name="GetStatus">
5
<s:attribute name="LocaleID" type="s:string" />
6
<s:attribute name="ClientRequestHandle" type="s:string" />
9
<s:element name="GetStatusResponse">
12
<s:element minOccurs="0" maxOccurs="1" name="GetStatusResult" type="s0:ReplyBase" />
13
<s:element minOccurs="0" maxOccurs="1" name="Status" type="s0:ServerStatus" />
17
<s:complexType name="ReplyBase">
18
<s:attribute name="RcvTime" type="s:dateTime" use="required" />
19
<s:attribute name="ReplyTime" type="s:dateTime" use="required" />
20
<s:attribute name="ClientRequestHandle" type="s:string" />
21
<s:attribute name="RevisedLocaleID" type="s:string" />
22
<s:attribute name="ServerState" type="s0:serverState" use="required" />
24
<s:simpleType name="serverState">
25
<s:restriction base="s:string">
26
<s:enumeration value="running" />
27
<s:enumeration value="failed" />
28
<s:enumeration value="noConfig" />
29
<s:enumeration value="suspended" />
30
<s:enumeration value="test" />
31
<s:enumeration value="commFault" />
34
<s:complexType name="ServerStatus">
36
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s:string" />
37
<s:element minOccurs="0" maxOccurs="1" name="VendorInfo" type="s:string" />
38
<s:element minOccurs="0" maxOccurs="unbounded" name="SupportedLocaleIDs" type="s:string" />
39
<s:element minOccurs="0" maxOccurs="unbounded" name="SupportedInterfaceVersions" type="s0:interfaceVersion" />
41
<s:attribute name="StartTime" type="s:dateTime" use="required" />
42
<s:attribute name="ProductVersion" type="s:string" />
44
<s:simpleType name="interfaceVersion">
45
<s:restriction base="s:string">
46
<s:enumeration value="XML_DA_Version_1_0" />
49
<s:element name="Read">
52
<s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
53
<s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:ReadRequestItemList" />
57
<s:complexType name="RequestOptions">
58
<s:attribute default="true" name="ReturnErrorText" type="s:boolean" />
59
<s:attribute default="false" name="ReturnDiagnosticInfo" type="s:boolean" />
60
<s:attribute default="false" name="ReturnItemTime" type="s:boolean" />
61
<s:attribute default="false" name="ReturnItemPath" type="s:boolean" />
62
<s:attribute default="false" name="ReturnItemName" type="s:boolean" />
63
<s:attribute name="RequestDeadline" type="s:dateTime" />
64
<s:attribute name="ClientRequestHandle" type="s:string" />
65
<s:attribute name="LocaleID" type="s:string" />
67
<s:complexType name="ReadRequestItemList">
69
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ReadRequestItem" />
71
<s:attribute name="ItemPath" type="s:string" />
72
<s:attribute name="ReqType" type="s:QName" />
73
<s:attribute name="MaxAge" type="s:int" />
75
<s:complexType name="ReadRequestItem">
76
<s:attribute name="ItemPath" type="s:string" />
77
<s:attribute name="ReqType" type="s:QName" />
78
<s:attribute name="ItemName" type="s:string" />
79
<s:attribute name="ClientItemHandle" type="s:string" />
80
<s:attribute name="MaxAge" type="s:int" />
82
<s:element name="ReadResponse">
85
<s:element minOccurs="0" maxOccurs="1" name="ReadResult" type="s0:ReplyBase" />
86
<s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:ReplyItemList" />
87
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
91
<s:complexType name="ReplyItemList">
93
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
95
<s:attribute name="Reserved" type="s:string" />
97
<s:complexType name="ItemValue">
99
<s:element minOccurs="0" maxOccurs="1" name="DiagnosticInfo" type="s:string" />
100
<s:element minOccurs="0" maxOccurs="1" name="Value" />
101
<s:element minOccurs="0" maxOccurs="1" name="Quality" type="s0:OPCQuality" />
103
<s:attribute name="ValueTypeQualifier" type="s:QName" />
104
<s:attribute name="ItemPath" type="s:string" />
105
<s:attribute name="ItemName" type="s:string" />
106
<s:attribute name="ClientItemHandle" type="s:string" />
107
<s:attribute name="Timestamp" type="s:dateTime" />
108
<s:attribute name="ResultID" type="s:QName" />
110
<s:complexType name="OPCQuality">
111
<s:attribute default="good" name="QualityField" type="s0:qualityBits" />
112
<s:attribute default="none" name="LimitField" type="s0:limitBits" />
113
<s:attribute default="0" name="VendorField" type="s:unsignedByte" />
115
<s:simpleType name="qualityBits">
116
<s:restriction base="s:string">
117
<s:enumeration value="bad" />
118
<s:enumeration value="badConfigurationError" />
119
<s:enumeration value="badNotConnected" />
120
<s:enumeration value="badDeviceFailure" />
121
<s:enumeration value="badSensorFailure" />
122
<s:enumeration value="badLastKnownValue" />
123
<s:enumeration value="badCommFailure" />
124
<s:enumeration value="badOutOfService" />
125
<s:enumeration value="badWaitingForInitialData" />
126
<s:enumeration value="uncertain" />
127
<s:enumeration value="uncertainLastUsableValue" />
128
<s:enumeration value="uncertainSensorNotAccurate" />
129
<s:enumeration value="uncertainEUExceeded" />
130
<s:enumeration value="uncertainSubNormal" />
131
<s:enumeration value="good" />
132
<s:enumeration value="goodLocalOverride" />
135
<s:simpleType name="limitBits">
136
<s:restriction base="s:string">
137
<s:enumeration value="none" />
138
<s:enumeration value="low" />
139
<s:enumeration value="high" />
140
<s:enumeration value="constant" />
143
<s:complexType name="OPCError">
145
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
147
<s:attribute name="ID" type="s:QName" use="required" />
149
<s:complexType name="ArrayOfFloat">
151
<s:element minOccurs="0" maxOccurs="unbounded" name="float" type="s:float" />
154
<s:complexType name="ArrayOfInt">
156
<s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
159
<s:complexType name="ArrayOfUnsignedInt">
161
<s:element minOccurs="0" maxOccurs="unbounded" name="unsignedInt" type="s:unsignedInt" />
164
<s:complexType name="ArrayOfLong">
166
<s:element minOccurs="0" maxOccurs="unbounded" name="long" type="s:long" />
169
<s:complexType name="ArrayOfUnsignedLong">
171
<s:element minOccurs="0" maxOccurs="unbounded" name="unsignedLong" type="s:unsignedLong" />
174
<s:complexType name="ArrayOfDouble">
176
<s:element minOccurs="0" maxOccurs="unbounded" name="double" type="s:double" />
179
<s:complexType name="ArrayOfUnsignedShort">
181
<s:element minOccurs="0" maxOccurs="unbounded" name="unsignedShort" type="s:unsignedShort" />
184
<s:complexType name="ArrayOfBoolean">
186
<s:element minOccurs="0" maxOccurs="unbounded" name="boolean" type="s:boolean" />
189
<s:complexType name="ArrayOfString">
191
<s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
194
<s:complexType name="ArrayOfDateTime">
196
<s:element minOccurs="0" maxOccurs="unbounded" name="dateTime" type="s:dateTime" />
199
<s:complexType name="ArrayOfAnyType">
201
<s:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" />
204
<s:complexType name="ArrayOfDecimal">
206
<s:element minOccurs="0" maxOccurs="unbounded" name="decimal" type="s:decimal" />
209
<s:complexType name="ArrayOfByte">
211
<s:element minOccurs="0" maxOccurs="unbounded" name="byte" type="s:byte" />
214
<s:complexType name="ArrayOfShort">
216
<s:element minOccurs="0" maxOccurs="unbounded" name="short" type="s:short" />
219
<s:element name="Write">
222
<s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
223
<s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:WriteRequestItemList" />
225
<s:attribute name="ReturnValuesOnReply" type="s:boolean" use="required" />
228
<s:complexType name="WriteRequestItemList">
230
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
232
<s:attribute name="ItemPath" type="s:string" />
234
<s:element name="WriteResponse">
237
<s:element minOccurs="0" maxOccurs="1" name="WriteResult" type="s0:ReplyBase" />
238
<s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:ReplyItemList" />
239
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
243
<s:element name="Subscribe">
246
<s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
247
<s:element minOccurs="0" maxOccurs="1" name="ItemList" type="s0:SubscribeRequestItemList" />
249
<s:attribute name="ReturnValuesOnReply" type="s:boolean" use="required" />
250
<s:attribute default="0" name="SubscriptionPingRate" type="s:int" />
253
<s:complexType name="SubscribeRequestItemList">
255
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:SubscribeRequestItem" />
257
<s:attribute name="ItemPath" type="s:string" />
258
<s:attribute name="ReqType" type="s:QName" />
259
<s:attribute name="Deadband" type="s:float" />
260
<s:attribute name="RequestedSamplingRate" type="s:int" />
261
<s:attribute name="EnableBuffering" type="s:boolean" />
263
<s:complexType name="SubscribeRequestItem">
264
<s:attribute name="ItemPath" type="s:string" />
265
<s:attribute name="ReqType" type="s:QName" />
266
<s:attribute name="ItemName" type="s:string" />
267
<s:attribute name="ClientItemHandle" type="s:string" />
268
<s:attribute name="Deadband" type="s:float" />
269
<s:attribute name="RequestedSamplingRate" type="s:int" />
270
<s:attribute name="EnableBuffering" type="s:boolean" />
272
<s:complexType name="SubscribeReplyItemList">
274
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:SubscribeItemValue" />
276
<s:attribute name="RevisedSamplingRate" type="s:int" />
278
<s:complexType name="SubscribeItemValue">
280
<s:element minOccurs="0" maxOccurs="1" name="ItemValue" type="s0:ItemValue" />
282
<s:attribute name="RevisedSamplingRate" type="s:int" />
284
<s:element name="SubscribeResponse">
287
<s:element minOccurs="0" maxOccurs="1" name="SubscribeResult" type="s0:ReplyBase" />
288
<s:element minOccurs="0" maxOccurs="1" name="RItemList" type="s0:SubscribeReplyItemList" />
289
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
291
<s:attribute name="ServerSubHandle" type="s:string" />
294
<s:element name="SubscriptionPolledRefresh">
297
<s:element minOccurs="0" maxOccurs="1" name="Options" type="s0:RequestOptions" />
298
<s:element minOccurs="0" maxOccurs="unbounded" name="ServerSubHandles" type="s:string" />
300
<s:attribute name="HoldTime" type="s:dateTime" />
301
<s:attribute default="0" name="WaitTime" type="s:int" />
302
<s:attribute default="false" name="ReturnAllItems" type="s:boolean" />
305
<s:complexType name="SubscribePolledRefreshReplyItemList">
307
<s:element minOccurs="0" maxOccurs="unbounded" name="Items" type="s0:ItemValue" />
309
<s:attribute name="SubscriptionHandle" type="s:string" />
311
<s:element name="SubscriptionPolledRefreshResponse">
314
<s:element minOccurs="0" maxOccurs="1" name="SubscriptionPolledRefreshResult" type="s0:ReplyBase" />
315
<s:element minOccurs="0" maxOccurs="unbounded" name="InvalidServerSubHandles" type="s:string" />
316
<s:element minOccurs="0" maxOccurs="unbounded" name="RItemList" type="s0:SubscribePolledRefreshReplyItemList" />
317
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
319
<s:attribute default="false" name="DataBufferOverflow" type="s:boolean" />
322
<s:element name="SubscriptionCancel">
324
<s:attribute name="ServerSubHandle" type="s:string" />
325
<s:attribute name="ClientRequestHandle" type="s:string" />
328
<s:element name="SubscriptionCancelResponse">
330
<s:attribute name="ClientRequestHandle" type="s:string" />
333
<s:element name="Browse">
336
<s:element minOccurs="0" maxOccurs="unbounded" name="PropertyNames" type="s:QName" />
338
<s:attribute name="LocaleID" type="s:string" />
339
<s:attribute name="ClientRequestHandle" type="s:string" />
340
<s:attribute name="ItemPath" type="s:string" />
341
<s:attribute name="ItemName" type="s:string" />
342
<s:attribute name="ContinuationPoint" type="s:string" />
343
<s:attribute default="0" name="MaxElementsReturned" type="s:int" />
344
<s:attribute default="all" name="BrowseFilter" type="s0:browseFilter" />
345
<s:attribute name="ElementNameFilter" type="s:string" />
346
<s:attribute name="VendorFilter" type="s:string" />
347
<s:attribute default="false" name="ReturnAllProperties" type="s:boolean" />
348
<s:attribute default="false" name="ReturnPropertyValues" type="s:boolean" />
349
<s:attribute default="false" name="ReturnErrorText" type="s:boolean" />
352
<s:simpleType name="browseFilter">
353
<s:restriction base="s:string">
354
<s:enumeration value="all" />
355
<s:enumeration value="branch" />
356
<s:enumeration value="item" />
359
<s:complexType name="BrowseElement">
361
<s:element minOccurs="0" maxOccurs="unbounded" name="Properties" type="s0:ItemProperty" />
363
<s:attribute name="Name" type="s:string" />
364
<s:attribute name="ItemPath" type="s:string" />
365
<s:attribute name="ItemName" type="s:string" />
366
<s:attribute name="IsItem" type="s:boolean" use="required" />
367
<s:attribute name="HasChildren" type="s:boolean" use="required" />
369
<s:complexType name="ItemProperty">
371
<s:element minOccurs="0" maxOccurs="1" name="Value" />
373
<s:attribute name="Name" type="s:QName" use="required" />
374
<s:attribute name="Description" type="s:string" />
375
<s:attribute name="ItemPath" type="s:string" />
376
<s:attribute name="ItemName" type="s:string" />
377
<s:attribute name="ResultID" type="s:QName" />
379
<s:element name="BrowseResponse">
382
<s:element minOccurs="0" maxOccurs="1" name="BrowseResult" type="s0:ReplyBase" />
383
<s:element minOccurs="0" maxOccurs="unbounded" name="Elements" type="s0:BrowseElement" />
384
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />
386
<s:attribute name="ContinuationPoint" type="s:string" />
387
<s:attribute default="false" name="MoreElements" type="s:boolean" />
390
<s:element name="GetProperties">
393
<s:element minOccurs="0" maxOccurs="unbounded" name="ItemIDs" type="s0:ItemIdentifier" />
394
<s:element minOccurs="0" maxOccurs="unbounded" name="PropertyNames" type="s:QName" />
396
<s:attribute name="LocaleID" type="s:string" />
397
<s:attribute name="ClientRequestHandle" type="s:string" />
398
<s:attribute name="ItemPath" type="s:string" />
399
<s:attribute default="false" name="ReturnAllProperties" type="s:boolean" />
400
<s:attribute default="false" name="ReturnPropertyValues" type="s:boolean" />
401
<s:attribute default="false" name="ReturnErrorText" type="s:boolean" />
404
<s:complexType name="ItemIdentifier">
405
<s:attribute name="ItemPath" type="s:string" />
406
<s:attribute name="ItemName" type="s:string" />
408
<s:complexType name="PropertyReplyList">
410
<s:element minOccurs="0" maxOccurs="unbounded" name="Properties" type="s0:ItemProperty" />
412
<s:attribute name="ItemPath" type="s:string" />
413
<s:attribute name="ItemName" type="s:string" />
414
<s:attribute name="ResultID" type="s:QName" />
416
<s:element name="GetPropertiesResponse">
419
<s:element minOccurs="0" maxOccurs="1" name="GetPropertiesResult" type="s0:ReplyBase" />
420
<s:element minOccurs="0" maxOccurs="unbounded" name="PropertyLists" type="s0:PropertyReplyList" />
421
<s:element minOccurs="0" maxOccurs="unbounded" name="Errors" type="s0:OPCError" />