Dynamic variable resolution

Use dynamic variables in URL, headers, and query parameters to extract values from different sources.

Supported variable types

Table 1. Variable types and usage
Syntax Source Example Use case
${property} OMS properties ${api.base.url} Static configuration values
/XPath XML input /Order/@OrderNo Extract from XML payload
$.jsonpath JSON input $.order.id Extract from JSON payload
#{h:header} Incoming request header #{h:authorization} Propagate incoming headers
#{q:param} Incoming query parameter #{q:itemId} Propagate query parameters

Property resolution

Example:

<URL>${inventory.api.url}/check</URL>
<Header Name="API-Key" Value="${api.key}"/>

XPath resolution for XML input

Example:

<Parameter Name="orderNo" Value="/Order/@OrderNo"/>
<Parameter Name="customerId" Value="/Order/Customer/@CustomerID"/>

JSONPath resolution for JSON input

Example:

<Parameter Name="orderId" Value="$.order.id"/>
<Parameter Name="itemSku" Value="$.items[0].sku"/>

Header and query parameter propagation

OMS can capture incoming HTTP request headers and query parameters and make them available throughout the service execution. For more information, see Request context propagation.