Dynamic variable resolution
Use dynamic variables in URL, headers, and query parameters to extract values from different sources.
Supported variable types
| 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.