This Servicereturns the Servers known to a Discovery Server. Unlike FindServers, this Serviceis only implemented by Discovery Servers.
The Clientmay reduce the number of results returned by specifying filter criteria. An empty list is returned if no Servermatches the criteria specified by the Client.
This Serviceshall not require message security but it may require transport layer security.
Each time the Discovery Servercreates or updates a record in its cache it shall assign a monotonically increasing identifier to the record. This allows Clientsto request records in batches by specifying the identifier for the last record received in the last call to FindServersOnNetwork. To support this the Discovery Servershall return records in numerical order starting from the lowest record identifier. The Discovery Servershall also return the last time the counter was reset for example due to a restart of the Discovery Server. If a Clientdetects that this time is more recent than the last time the Clientcalled the Serviceit shall call the Service again with a startingRecordId of 0.
This Servicecan be used without security and it is therefore vulnerable to denial of service (DOS) attacks. A Servershould minimize the amount of processing required to send the response for this Service. This can be achieved by preparing the result in advance.
Table 4defines the parameters for the Service.
Table 4– FindServersOnNetwork Service Parameters
Name |
Type |
Description |
Request |
|
|
requestHeader |
RequestHeader |
Common request parameters. The authenticationTokenis always null. The authenticationTokenshall be ignored if it is provided. The type RequestHeaderis defined in 7.33. |
startingRecordId |
Counter |
Only records with an identifier greater than this number will be returned. Specify 0 to start with the first record in the cache. |
maxRecordsToReturn |
UInt32 |
The maximum number of records to return in the response. 0 indicates that there is no limit. |
serverCapabilityFilter[] |
String |
List of Servercapability filters. The set of allowed Servercapabilities are defined in OPC 10000-12. Only records with all of the specified Servercapabilities are returned. The comparison is case insensitive. If this list is empty then no filtering is performed. |
|
|
|
Response |
|
|
responseHeader |
ResponseHeader |
Common response parameters. The ResponseHeadertype is defined in 7.34. |
lastCounterResetTime |
UtcTime |
The last time the counters were reset. |
servers[] |
ServerOnNetwork |
List of DNS service records that meet criteria specified in the request. This list is empty if no Serversmeet the criteria. |
recordId |
UInt32 |
A unique identifier for the record. This can be used to fetch the next batch of Serversin a subsequent call to FindServersOnNetwork. |
serverName |
String |
The name of the Serverspecified in the mDNS announcement (see OPC 10000-12). This may be the same as the ApplicationNamefor the Server. |
discoveryUrl |
String |
The URL of the DiscoveryEndpoint. |
serverCapabilities |
String[] |
The set of Servercapabilities supported by the Server. The set of allowed Servercapabilities are defined in OPC 10000-12. |
Common StatusCodesare defined in Table 182.