This Serviceis used to discover the Referencesof a specified Node. The browse can be further limited by the use of a View. This Browse Servicealso supports a primitive filtering capability.

In some cases it may take longer than the Clienttimeout hint to process all nodes to browse. In this case the Servermay return zero results with a continuation point for the affected nodes before the timeout expires.

Table 34defines the parameters for the Service.

Table 34– Browse Service Parameters

Name

Type

Description

Request

requestHeader

RequestHeader

Common request parameters (see 7.33for RequestHeaderdefinition).

View

ViewDescription

Description of the Viewto browse (see 7.45for ViewDescriptiondefinition). An empty ViewDescriptionvalue indicates the entire AddressSpace. Use of the empty ViewDescriptionvalue causes all Referencesof the nodesToBrowseto be returned. Use of any other Viewcauses only the Referencesof the nodesToBrowsethat are defined for that Viewto be returned.

requestedMax

ReferencesPerNode

Counter

Indicates the maximum number of references to return for each starting Node specified in the request. The value 0 indicates that the Clientis imposing no limitation (see 7.8for Counterdefinition).

nodesToBrowse []

BrowseDescription

A list of nodes to Browse. This structure is defined in-line with the following indented items.

nodeId

NodeId

NodeIdof the Nodeto be browsed. If a view is provided, it shall include this Node.

browseDirection

Enum

BrowseDirection

An enumeration that specifies the direction of Referencesto follow. The enumeration is defined in 7.5.

The returned Referencesdo indicate the direction the Serverfollowed in the isForwardparameter of the ReferenceDescription.

Symmetric Referencesare always considered to be in forward direction therefore the isForward flag is always set to TRUE and symmetric Referencesare not returned if browseDirectionis set to INVERSE.

referenceTypeId

NodeId

Specifies the NodeIdof the ReferenceTypeto follow. Only instances of this ReferenceTypeor its subtypes are returned.

If not specified then all Referencesare returned and includeSubtypes is ignored.

includeSubtypes

Boolean

Indicates whether subtypes of the ReferenceTypeshould be included in the browse. If TRUE, then instances of referenceTypeIdand all of its subtypes are returned.

nodeClassMask

UInt32

Specifies the NodeClassesof the TargetNodes. Only TargetNodeswith the selected NodeClassesare returned. The NodeClassesare assigned the following bits:

Bit

NodeClass

0

Object

1

Variable

2

Method

3

ObjectType

4

VariableType

5

ReferenceType

6

DataType

7

View

If set to zero, then all NodeClassesare returned.

If the NodeClassis unknown for a remote Node, the nodeClassMaskis ignored.

resultMask

UInt32

Specifies the fields in the ReferenceDescriptionstructure that should be returned. The fields are assigned the following bits:

Bit

Result

0

ReferenceType

1

IsForward

2

NodeClass

3

BrowseName

4

DisplayName

5

TypeDefinition

The ReferenceDescriptiontype is defined in 7.30.

Response

responseHeader

Response Header

Common response parameters (see 7.34for ResponseHeaderdefinition).

results []

BrowseResult

A list of BrowseResults. The size and order of the list matches the size and order of the nodesToBrowsespecified in the request.

The BrowseResulttype is defined in 7.6.

diagnosticInfos []

Diagnostic Info

List of diagnostic information for the results(see 7.12for DiagnosticInfo definition). The size and order of the list matches the size and order of the resultsresponse 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.

Table 35defines the Serviceresults specific to this Service. Common StatusCodesare defined in Table 182.

Table 35– Browse Service Result Codes

Symbolic Id

Description

Bad_ViewIdUnknown

See Table 182for the description of this result code.

Bad_ViewTimestampInvalid

See Table 182for the description of this result code.

Bad_ViewParameterMismatchInvalid

See Table 182for the description of this result code.

Bad_ViewVersionInvalid

See Table 182for the description of this result code.

Bad_NothingToDo

See Table 182for the description of this result code.

Bad_TooManyOperations

See Table 182for the description of this result code.

Table 36defines values for the resultsparameter that are specific to this Service. Common StatusCodesare defined in Table 183.

Table 36– Browse Operation Level Result Codes

Symbolic Id

Description

Bad_NodeIdInvalid

See Table 183for the description of this result code.

Bad_NodeIdUnknown

See Table 183for the description of this result code.

Bad_ReferenceTypeIdInvalid

See Table 183for the description of this result code.

Bad_BrowseDirectionInvalid

See Table 183for the description of this result code.

Bad_NodeNotInView

See Table 183for the description of this result code.

Bad_NoContinuationPoints

See Table 183for the description of this result code.

Uncertain_NotAllNodesAvailable

Browse results may be incomplete because of the unavailability of a subsystem.