6 Global Discovery Server ToC Previous Next

6.3 Information Model ToC Previous Next

6.3.6 RegisterApplication ToC Previous Next

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

Previous Next