RegistryLookup node output
Use the RegistryLookup node to retrieve any type of entity held in the WebSphere® Service Registry and Repository (WSRR). The entities that match the specified search criteria are stored in the local environment. The input message is not modified.
Setting the Depth Policy property
|Depth Policy property value||Local environment override value||Data returned|
|Return matched only (Depth = 0)||MatchOnly||Just the matched entities|
|Return matched showing immediate relationships (For compatibility only)||MatchShowRel||The matched entities and additional references|
|Return matched plus immediate related entities (Depth = 1)||MatchPlusImmediate||The matched entities and the immediate related child entities|
|Return matched plus all related entities (Depth = -1)||MatchPlusAll||The matched entities and all the related child entities|
Use MatchShowRel for compatibility with versions of WebSphere Message Broker before Version 126.96.36.199. The local environment output for MatchShowRel is shown in Example 1 and follows the format that was used in those previous versions. However, the MatchShowRel option is deprecated, and provided only for compatibility with previous versions. Do not use MatchShowRel if you are creating a new message flow, and consider migrating existing message flows to use one of the other options.
Use the MatchOnly option to retrieve just the individual entities matched by the search criteria. This option is efficient, however the local environment output does not contain any information about entities related to the matched entities.
Use the MatchPlusImmediate option to retrieve the entities matched by the search criteria, and the related child entities. This option offers a useful compromise, allowing you to access the immediate relations of the matched entities, while still restricting the total amount of data retrieved.
Use one of the MatchOnly or MatchPlusImmediate options when migrating a message flow that uses the deprecated MatchShowRel option. If your original message flow used the relationship information in the matched entities, use the MatchPlusImmediate option. See Migrating a message flow that uses the MatchShowRel option.
Use the MatchPlusAll option to retrieve the entities matched by the search criteria, and all the related child entities. Use this option only if your message flow needs access to more than the immediate relations of the matched entities, because it retrieves considerably more data than the MatchPlusImmediate option, see Local environment output tree.
Local environment output tree
The local environment output tree has a different format when the deprecated MatchShowRel option of the Depth Policy property is used. The following table describes the differences in the local environment output tree format.
|MatchOnly, MatchPlusImmediate, and MatchPlusAll options||MatchShowRel option|
|The ServiceRegistry folder element is owned by the XMLNSC compiler.||No owning parser on the ServiceRegistry folder element, and each Entity element is owned by the XMLNS parser|
|The ServiceRegistry tree does not use unnecessary namespaces.||Namespaces are attached to all UserDefined folder elements, meaning that the path specified must declare and use the relevant namespace to access fields within these folders.|
|The ServiceRegistry tree is optimized through use of the XMLNSC parser.||The output tree contains a number of XML declaration, pcdata, and white space elements that have no business significance.|
|In WSRR, binary data is represented as a GenericDocument
||Binary content is represented as a base64 encoded character
string in the
|The retrieved entities are not modified to add any user properties.||The matched Entities appear in the local environment with
a user property called
- Cyclic references - a graph can contain an entity from which you can follow relationships that arrive back at the same entity.
- Multiple references - a graph can contain an entity that is referenced by multiple entities.
- The matched entities that are returned in the WSRR graph are represented as Entity elements as the first children of the LocalEnvironment.ServiceRegistry. The properties of the matched entities are represented as child elements.
- A matched entity can contain references to other entities. If MatchPlusImmediate is set, these references are represented as Entity child elements of the matched entity. If MatchPlusAll is set, the same rule is applied recursively to these children.
- Cyclic references - if an entity references another entity that
is one of its ancestors in the WSRR graph, the referenced entity is
represented as an EntityRef element. An EntityRef element does not
represent the target entity directly, but provides information to
identify it. This prevents the possibility of entering cyclic loops
when navigating the tree.
The following diagram shows references from entity D1 in the graph to entities C1 and A that are ancestral; therefore, Entity D1 in the message tree contains EntityRef elements for A and C1.
- Multiple references - if an entity in the WSRR SDO graph is referenced
by more than one other entity, it is represented as a separate Entity
element in the message tree each time it is referenced. The Entity
element is cloned, along with any entities that it refers to.
The following diagram shows that entity X1 in the graph is referenced by entities Y1 and Y2, so Entity X1 and Entity W1 that it references are modeled twice in the message tree.
Migrating a message flow that uses the MatchShowRel option
When you migrate an existing message flow that uses the deprecated MatchShowRel option of the Depth Policy property, the local environment output tree will have a different format. The table shown earlier describes the differences in the local environment output tree formats, and indicates what you must modify in the message flow to access the data in the updated format; see Local environment output tree.
- Example 1 shows the full RegistryLookup node output in two cases for a query that returns two versions of a concept entity. In both cases the Match Policy property is set to All. In the first case the Depth Policy property is set to Return matched plus immediate related entities (Depth = 1) , and in the second case the Depth Policy property is set to Return matched only, showing immediate relationships (For compatibility only). This example also shows example ESQL to read elements of the output. See RegistryLookup node output: example 1
- Example 2 shows the structure of RegistryLookup node output for all possible values of the Depth Policy property for a query on a concept entity that has a number of user relationships to other concept entities. See RegistryLookup node output: example 2
- Example 3 shows the structure of RegistryLookup node output for a query on an entity having metadata relationships and user-defined relationships, using a Depth Policy property value of Return matched plus all related entities (Depth = -1) . See RegistryLookup node output: example 3.