Looking up Governance States in WSRR using WebSphere ESB

Let’s say you want to use the Endpoint Lookup primitive in WebSphere ESB to lookup an endpoint stored in WebSphere Services Registry and Repository (WSRR), but matching against the governance state of the endpoint. For example, you might want to only lookup endpoints which are in the ‘Managed’ state – i.e. they are deployed and ready to work with. How would you do this?

Well, in WebSphere ESB, when you’re specifying the properties of Endpoint Lookup primitive, you get the ability to specify Classifications. These are matched against Classifications in WSRR – including the governance state.

For example, let’s assume that we’ve loaded a WSDL document into WSRR and already transitioned it into the ‘Managed’ state. We’ve specified most of the properties for the Endpoint Lookup primitive already, such as the interface we are looking up. We now need to know what the syntax is for the Classification that we’re going to use. In WSRR, we go to the Configuration perspective in the admin console. Then we navigate to Active Configuration Profile / Classification Systems. We select Life Cycle Classifications and then click Edit. This should look like this:

Now click on Classes, expand out the tree, and you should see something like this:

Click on Managed and you’ll get to see the Class ID:

This is the important value, because this is the value that you’ll need to specify as a classification in your Endpoint Lookup primitive:

Now, when the lookup is performed, only endpoints in the Managed state will be returned.

Note: The classifications are logically ANDed together: if you specify multiple ones, the endpoint must match all of the classifications.

Thanks to Andrew Borley, Bernard Kufluk and David Bell for help with this tip.