The FindAlias Method allows a Client to obtain the list of Nodes that match the provided AliasName search string. The signature of this Method is specified below, the arguments are defined in Table 3.

Signature

FindAlias(

[in] String AliasNameSearchPattern,

[in] NodeId ReferenceTypeFilter,

[out] AliasNameDataType[] AliasNodeList

);

Table 3 - FindAlias Method Arguments

Argument

Description

AliasNameSearchPattern

A string that can contain wild cards, use to find a list of AliasNames (see OPC 10000-4 - “Wildcard Characters” table for supported wildcards, see the “Like” FilterOperator in OPC 10000-4 for more details)

ReferenceTypeFilter

A NodeId that represent a ReferenceType (i.e. AliasFor or one of its subtypes) that restricts the search. Any ReferenceType includes all subtypes of that ReferenceType.

AliasNodeList

The returned list of AliasNameDataType. If no Nodes match the search string or have the appropriate ReferenceType, the list shall be empty.

Method result codes are defined in Table 4

Table 4 - FindAlias Method Error Codes

Result Code

Description

Bad_InvalidArgument

The input string is not a valid search string

Bad_UserAccessDenied

The current user does not have the rights required.

Bad_ResponseToLarge

The response was too large to be returned, try new filter and repeat find

The Method is formally defined in Table 5.

Table 5 - FindAlias Method AddressSpace definition

Attribute

Value

BrowseName

FindAlias

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

HasProperty

Variable

OutputArguments

Argument[]

PropertyType

Mandatory

It is important to note that there might be more than one entry for every AliasName. Multiple Servers might provide a Node that represents an equivalent object (such as a temperature sensor). An aggregating Server also might provide the Node. This Method will return the AliasNames in order of preference. That is the Server will return what it recommends as the best match first followed by the next best match etc. The criteria for ordering are Server specific. The criteria might be based on the ServerStatus of the Server that contains the referenced Node, it might be load balancing of Servers, it might be for off-loading of small device Servers, or it might be some other algorithm.

Clients should use the first usable entry in the list.