Errata exists for this version of the document.

This Method is used to add a Role to the RoleSet Object.

The combination of the NamespaceUri and RoleName parameters are used to construct the BrowseName for the new Node. The BrowseName shall be unique within the RoleSet Object.

This Method affects security and shall only be browseable and callable by authorized administrators.

OPC 10000-3 defines well-known Roles. If this Method is used to add a well-known Role, the name of the Role from OPC 10000-3 is used together with the OPC UA namespace URI. The Server shall use the NodeIds for the well-known Roles in this case. The NodeIds for the well-known Roles are defined in OPC 10000-6.

Signature

AddRole (

[in]String RoleName

[in]String NamespaceUri

[out]NodeId RoleNodeId

);

Argument

Description

RoleName

The name of the Role.

NamespaceUri

The NamespaceUri qualifies the RoleName. If this value is null or empty then the resulting BrowseName will be qualified by the Server’s NamespaceUri.

RoleNodeId

The NodeId assigned by the Server to the new Node.

Method Result Codes

ResultCode

Description

Bad_InvalidArgument

The RoleName or NamespaceUri is not valid.

The text associated with the error shall indicate the exact problem.

Bad_NotSupported

The Server does not allow more Roles to be added.

Bad_UserAccessDenied

The caller does not have the necessary Permissions.