5 Service Sets ToC Previous Next

5.8 View Service Set ToC Previous Next

5.8.4 TranslateBrowsePathsToNodeIds ToC Previous Next

5.8.4.1 Description ToC

This Service is used to request that the Server translates one or more browse paths to NodeIds. Each browse path is constructed of a starting Node and a RelativePath. The specified starting Node identifies the Node from which the RelativePath is based. The RelativePath contains a sequence of ReferenceTypes and BrowseNames.

One purpose of this Service is to allow programming against type definitions. Since BrowseNames shall be unique in the context of type definitions, a Client may create a browse path that is valid for a type definition and use this path on instances of the type. For example, an ObjectType “Boiler” may have a “HeatSensor” Variable as InstanceDeclaration. A graphical element programmed against the “Boiler” may need to display the Value of the “HeatSensor”. If the graphical element would be called on “Boiler1”, an instance of “Boiler”, it would need to call this Service specifying the NodeId of “Boiler1” as starting Node and the BrowseName of the “HeatSensor” as browse path. The Service would return the NodeId of the “HeatSensor” of “Boiler1” and the graphical element could subscribe to its Value Attribute.

If a Node has multiple targets with the same BrowseName, the Server shall return a list of NodeIds. However, since one of the main purposes of this Service is to support programming against type definitions, the NodeId of the Node based on the type definition of the starting Node is returned as the first NodeId in the list.

5.8.4.2 Parameters ToC

Table 40 defines the parameters for the Service.

Table 40 – TranslateBrowsePathsToNodeIds Service Parameters

Name Type Description
Request    
   requestHeader RequestHeader Common request parameters (see 7.28 for RequestHeader definition).
   browsePaths [] BrowsePath List of browse paths for which NodeIds are being requested. This structure is defined in-line with the following indented items.
      startingNode NodeId NodeId   of the starting Node for the browse path.
      relativePath RelativePath The path to follow from the startingNode.
The last element in the relativePath shall always have a targetName specified. This further restricts the definition of the RelativePath type. The Server shall return Bad_BrowseNameInvalid if the targetName is missing.
The RelativePath structure is defined in 7.26.
     
Response    
   responseHeader ResponseHeader Common response parameters (see 7.29 for ResponseHeader definition).
   results [] BrowsePathResult List of results for the list of browse paths. The size and order of the list matches the size and order of the browsePaths request parameter. This structure is defined in-line with the following indented items.
      statusCode StatusCode StatusCode   for the browse path (see 7.34 for StatusCode definition).
      targets [] BrowsePathTarget
List of targets for the relativePath from the startingNode. This structure is defined in-line with the following indented items.
A Server may encounter a Reference to a Node in another Server which it cannot follow while it is processing the RelativePath. If this happens the Server returns the NodeId of the external Node and sets the remainingPathIndex parameter to indicate which RelativePath elements still need to be processed. To complete the operation the Client shall connect to the other Server and call this service again using the target as the startingNode and the unprocessed elements as the relativePath.
         targetId ExpandedNodeId The identifier for a target of the RelativePath.
         remainingPathIndex Index The index of the first unprocessed element in the RelativePath.
This value shall be equal to the maximum value of Index data type if all elements were processed (see 7.13 for Index definition).
   diagnosticInfos [] DiagnosticInfo List of diagnostic information for the list of browse paths (see 7.8 for DiagnosticInfo definition). The size and order of the list matches the size and order of the browsePaths request parameter. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.

5.8.4.3 Service results ToC

Table 41 defines the Service results specific to this Service. Common StatusCodes are defined in 7.34.

Table 41 – TranslateBrowsePathsToNodeIds Service Result Codes

Symbolic Id Description
Bad_NothingToDo See Table 177 for the description of this result code.
Bad_TooManyOperations See Table 177 for the description of this result code.

5.8.4.4 StatusCodes ToC

Table 42 defines values for the operation level statusCode parameters that are specific to this Service. Common StatusCodes are defined in Table 178.

Table 42 – TranslateBrowsePathsToNodeIds Operation Level Result Codes

Symbolic Id Description
Bad_NodeIdInvalid See Table 178 for the description of this result code.
Bad_NodeIdUnknown See Table 178 for the description of this result code.
Bad_NothingToDo See Table 177 for the description of this result code.
This code indicates that the relativePath contained an empty list.
Bad_BrowseNameInvalid See Table 178 for the description of this result code.
This code indicates that a TargetName was missing in a RelativePath.
Uncertain_ReferenceOutOfServer The path element has targets which are in another server.
Bad_TooManyMatches The requested operation has too many matches to return.
Users should use queries for large result sets. Servers should allow at least 10 matches before returning this error code.
Bad_QueryTooComplex The requested operation requires too many resources in the server.
Bad_NoMatch The requested relativePath cannot be resolved to a target to return.

Previous Next