RegisterApplication is used to register a new Application Instance with a GlobalDiscoveryServer.
This Method shall only be invoked by authorized users.
Servers that support transparent redundancy shall register as a single application and pass the DiscoveryUrls for all available instances and/or network paths.
RegisterApplication will create duplicate records if the ApplicationUri already exists since misconfiguration of applications can result in different applications having the same ApplicationUri. Before calling this Method the Client shall call FindApplications to check if a record for the application it is using already exists. If records are found which appear to belong to different applications (e.g. the DiscoveryUrls are different) then the Client shall report a warning before continuing.
If registration was successful and auditing is supported, the GDS shall generate the ApplicationRegistrationChangedAuditEventType (see 6.3.12).
Signature
RegisterApplication(
[in] ApplicationRecordDataType application
[out] NodeId applicationId
);
Argument |
Description |
application |
The application that is to be registered with the GlobalDiscoveryServer. |
applicationId |
A unique identifier for the registered Application. This identifier is persistent and is used in other Methods used to administer applications. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_InvalidArgument |
The application or one of the fields of the application record is not valid. The text associated with the error shall indicate the exact problem. |
Bad_UserAccessDenied |
The current user does not have the rights required. |
Table 6 specifies the AddressSpace representation for the RegisterApplication Method.
Table 6 – RegisterApplication Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
RegisterApplication |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |