5 Service Sets ToC Previous Next

5.4 Discovery Service Set ToC Previous Next

5.4.3 FindServersOnNetwork ToC Previous Next

5.4.3.1 Description ToC

This Service returns the Servers known to a Discovery Server. Unlike FindServers, this Service is only implemented by Discovery Servers.

The Client may reduce the number of results returned by specifying filter criteria. An empty list is returned if no Server matches the criteria specified by the Client.

This Service shall not require message security but it may require transport layer security.

Each time the Discovery Server creates or updates a record in its cache it shall assign a monotonically increasing identifier to the record. This allows Clients to request records in batches by specifying the identifier for the last record received in the last call to FindServersOnNetwork. To support this the Discovery Server shall return records in numerical order starting from the lowest record identifier. The Discovery Server shall also return the last time the counter was reset for example due to a restart of the Discovery Server. If a Client detects that this time is more recent than the last time the Client called the Service it shall call the Service again with a startingRecordId of 0.

This Service can be used without security and it is therefore vulnerable to denial of service (DOS) attacks. A Server should minimize the amount of processing required to send the response for this Service. This can be achieved by preparing the result in advance.

5.4.3.2 Parameters ToC

Table 4 defines the parameters for the Service.

Table 4 – FindServersOnNetwork Service Parameters

Name Type Description
Request    
requestHeader RequestHeader Common request parameters. The authenticationToken is always null. The authenticationToken shall be ignored if it is provided.
The type RequestHeader is defined in 7.28.
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 Server capability filters. The set of allowed Server capabilities are defined in OPC 10000-12.
Only records with all of the specified Server capabilities are returned.
The comparison is case insensitive.
If this list is empty then no filtering is performed.
     
Response    
responseHeader ResponseHeader Common response parameters.
The ResponseHeader type is defined in 7.29.
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 Servers meet the criteria.
   recordId UInt32 A unique identifier for the record.
This can be used to fetch the next batch of Servers in a subsequent call to FindServersOnNetwork.
   serverName String The name of the Server specified in the mDNS announcement (see OPC 10000-12).
This may be the same as the ApplicationName for the Server.
   discoveryUrl String The URL of the DiscoveryEndpoint.
   serverCapabilities String[] The set of Server capabilities supported by the Server.
The set of allowed Server capabilities are defined in OPC 10000-12.

5.4.3.3 Service results ToC

Common StatusCodes are defined in Table 177.

Previous Next