ANSI C Based OPC UA Client/Server/PubSub SDK
OpcUa_FindServersRequest Struct Reference

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

#include <opcua_types.h>

Data Fields

OpcUa_String EndpointUrl
 The network address that the Client used to access the Discovery Endpoint. More...
 List of locales to use. More...
 List of servers to return. 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 OpcUa_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 OpcUa_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.

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