If the ConnectionConfigurationSets contain PortableNodeIds, then the ConnectionManager should perform the following steps (Figure 68 provides an overview of the configuration and actions):
- Resolve the location of the Server and connect to it. This process is required for several of the node configuration options and is described in its own clause (see 13.2).
- Convert the PortableNodeIds into NodeIds. This is accomplished by connecting to the Server, reading the NamespaceArray from the Server, and matching all NamespaceUri from the NamespaceArray to the URI’s store in the PortableNodeId and storing the Index of the URI in the table as the cached NodeId.
- The cache shall also include the NamespaceArray of the target Server. This array can be checked before establishing a Connection to ensure it has not changed.
- Repeat for all Servers.
When resolving NamespaceUri, if a Null or empty NamespaceUri is encountered, the Server shall assume that it is a reference to NamespaceArray index 1. NamespaceArray index 1 is the local Server namespace, and the URI corresponding to the Server might not be known at configuration time. For additional details on Namespaces, see OPC 10000-3.
Figure 68 – PortableNodeId client resolution
The process is illustrated in the sequence diagram shown in Figure 69.
Figure 69 – PortableNodeId resolution sequence