Skip to content

CLIENT-REFERENCE

CLIENT-REFERENCE identifies the client that generated a Business Event. It's a system component: it appears first in the mapper for every Frame Type, marked with a System pill, and you don't add it to the template.

CLIENT-REFERENCE in the mapper

Why it matters

Knowing who generated each event lets BizMetry attribute traffic to a specific client. The component connects the event to the client types defined in the template and to the clients that use them.

How it maps to bmel:client

The component has the type CLIENT_REF_TYPE and its expression returns a bmel:client: the JSON of the client identified at runtime.

Each source field you connect becomes an argument of bmel:get-client-by-criteria. The sources are alternatives that can identify the client, and BizMetry evaluates them against the matching criteria of the template's client types.

CLIENT-REFERENCE in the BMEL editor

The expression follows the connections: connecting a source adds its argument, and disconnecting it removes that argument. Any changes you made to the remaining arguments in the BMEL editor are kept.

How it's initialized

The backend computes the default connections from the Primary operation and the enabled client types of the target template version. It does this when you reach the mapper for a new Business Event, and each time you run IntelliSense in the mapper. In both cases, the existing CLIENT-REFERENCE connections are replaced.

Criterion in the client type Connected source of the Primary operation
Client IP The Client IP request context variable
HTTP Headers Each header named by the criterion, even if the operation's contract doesn't declare it
URI Parameters Each parameter picked from the Primary operation
Query Parameters Each parameter picked from the Primary operation
Request Payload Fields Each field picked from the Primary operation
Response Payload Fields Each field picked from the Primary operation

URI parameters, query parameters and payload fields are connected only when the criterion was picked from the Primary operation of that same API collection. If several client types name the same element, it's connected once.

If you return to the mapper while creating the event, your changes are kept unless the Primary operation changed. You can also drag other sources onto the component or remove any connection.

Leaving it unmapped

CLIENT-REFERENCE can stay without connections. Its expression is then bmel:get-client-by-criteria(), which is valid, and the Business Event can be saved. In that case, the traffic identified by BizMetry is always assigned to the Default Client Type.

Every new profile's first template version includes a Default Client Type without criteria, which matches every client.


Back to Business Events.