.NET Based OPC UA Client/Server SDK
UnifiedAutomation.UaBase.FindServersRequest Class Reference

Asynchronous call to return the Servers known to a Server or Discovery Server. More...

Inherits UnifiedAutomation.UaBase.IServiceRequest, and UnifiedAutomation.UaBase.IEncodeable.

Public Member Functions

 FindServersRequest ()
 The default constructor. More...
virtual void Encode (IEncoder encoder)
virtual void Decode (IDecoder decoder)
virtual bool IsEqual (IEncodeable encodeable)
 Checks if encodeable is the same object or has the same content More...
virtual object Clone ()


RequestHeader RequestHeader [get, set]
string EndpointUrl [get, set]
 The network address that the Client used to access the Discovery Endpoint. More...
StringCollection LocaleIds [get, set]
 List of locales to use. More...
StringCollection ServerUris [get, set]
 List of servers to return. More...
virtual ExpandedNodeId TypeId [get]
virtual ExpandedNodeId BinaryEncodingId [get]
virtual ExpandedNodeId XmlEncodingId [get]
- Properties inherited from UnifiedAutomation.UaBase.IServiceRequest
RequestHeader RequestHeader [get, set]
 The header for the request. More...
- Properties inherited from UnifiedAutomation.UaBase.IEncodeable
ExpandedNodeId TypeId [get]
 Returns the UA type identifier for the encodable type. More...
ExpandedNodeId BinaryEncodingId [get]
 Returns the UA type identifier for the default binary encoding for the type. More...
ExpandedNodeId XmlEncodingId [get]
 Returns the UA type identifier for the default XML encoding for the type. More...

Detailed Description

Asynchronous call to return the Servers known to a Server or Discovery Server.

The Client may reduce the number of results returned by specifying filter criteria. A Discovery Server returns an empty list if no Servers match the criteria specified by the client.

Every Server shall provide a Discovery Endpoint that supports this Service. The Server shall always return a record that describes itself, however in some cases more than one record may be returned. Gateway Servers shall return a record for each Server that they provide access to plus (optionally) a record that allows the Gateway Server to be accessed as an ordinary OPC UA Server. Non-transparent redundant Servers shall provide a record for each Server in the redundant set.

Every Server shall have a globally unique identifier called the ServerUri. This identifier should be a fully qualified domain name; however, it may be a GUID or similar construct that ensures global uniqueness. The ServerUri returned by this Service shall be the same value that appears in index 0 of the ServerArray property (see Part 5 of the OPC UA Specification). The ServerUri is returned as the applicationUri field in the ApplicationDescription.

Every Server shall also have a human readable identifier, called the ServerName, which is not necessarily globally unique. This identifier may be available in multiple locales.

A Server may have multiple HostNames. For this reason, the Client shall pass the URL it used to connect to the Endpoint to this Service. The implementation of this Service shall use this information to return responses that are accessible to the Client via the provided URL.

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

Some Servers may be accessed via a Gateway Server and shall have a value specified for gatewayServerUri in their ApplicationDescription. The discoveryUrls provided in ApplicationDescription shall belong to the Gateway Server. Some Discovery Servers may return multiple records for the same Server if that Server can be accessed via multiple paths.

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. The Server should also add a short delay before starting processing of a request during high traffic conditions.

The DiscoveryUrl returned by this Service is ambiguous if there are multiple TransportProfiles (e.g. UA XML or UA Binary encoding) associated with the URL scheme. Clients that support multiple TransportProfiles should attempt to use alternate TransportProfiles if the first choice does not succeed.

Constructor & Destructor Documentation

UnifiedAutomation.UaBase.FindServersRequest.FindServersRequest ( )

The default constructor.

Member Function Documentation

virtual bool UnifiedAutomation.UaBase.FindServersRequest.IsEqual ( IEncodeable  encodeable)

Checks if encodeable is the same object or has the same content


Implements UnifiedAutomation.UaBase.IEncodeable.

Property Documentation

string UnifiedAutomation.UaBase.FindServersRequest.EndpointUrl

The network address that the Client used to access the Discovery Endpoint.

The Server uses this information for diagnostics and to determine what URLs to return in the response.

The Server should return a suitable default URL if it does not recognize the HostName in the URL.

StringCollection UnifiedAutomation.UaBase.FindServersRequest.LocaleIds

List of locales to use.

The server should return the applicationName in the ApplicationDescription using one of locales specified. If the server supports more than one of the requested locales, the server shall use the locale that appears first in this list. If the server does not support any of the requested locales, it chooses an appropriate default locale.

The server chooses an appropriate default locale if this list is empty.

RequestHeader UnifiedAutomation.UaBase.FindServersRequest.RequestHeader

StringCollection UnifiedAutomation.UaBase.FindServersRequest.ServerUris

List of servers to return.

All known servers are returned if the list is empty.

A serverUri matches the applicationUri from the ApplicationDescription.

The documentation for this class was generated from the following file: