The Designer comes with many adapters (see Adapters) that allow you to access a variety of backends via their REST interface. Request to REST services, and via the REST adapter use the HTTP protocol.
With this protocol, the xUML Runtime serves a set of standard headers (via libcurl) as described below (Standard HTTP Headers with xUML Service Adapters). You can use these headers to trace requests through multiple systems. Also, you can overwrite these standard headers using the concept of HTTP header roles.

HTTP headers support you with tracing requests through multiple systems. To trace the execution path of a Designer service itself, you can use the Trace Analyzer.

Standard HTTP Headers with Adapters

SOAP, REST and URL adapters use libcurl to provide HTTP headers.

With xUML service adapter calls, the xUML Runtime adds the following outgoing HTTP headers containing correlation information to the request:

  • X-Transaction-Id or xTransactionId (in JMS context)
    This header identifies the transaction the call belongs to. You can set the transaction id manually with setTransactionID. If not set, the Runtime will generate one.
    This header will be passed through the callstack to identify all service calls that belong to a transaction.
  • X-Request-Id
    This header identifies the unique request. The Runtime generates a unique number for each adapter call.
  • X-Sender-Host and X-Sender-Service
    These headers contain the sender host resp. the sender service. They are set by the Runtime automatically.

Transaction id and request id will be logged to the transaction log on the adapter call. Having this information, you can use this for error analysis or usage metrics.

For more information on specific adapters refer to Adapters.

Standard HTTP Headers with Service Implementations

In general, the Designer supports HTTP version 1.0 for xUML services. However, the following features of HTTP 1.1 are implemented as well:

  • Expect: 100 Continue
  • Transfer-Encoding: chunked
  • xUML services read the following incoming HTTP headers containing correlation information:

    • X-Transaction-Id or xTransactionId (in JMS context)
      This header identifies the transaction the call belongs to. You can set the transaction id manually with setTransactionID.
      This header will be passed through the callstack to identify all service calls that belong to a transaction.
    • X-Request-Id 
      This header should identify the unique request.
    • X-Sender-Host and X-Sender-Service
      These headers should contain the sender host resp. the sender service.

    These headers will be all logged to the transaction log. Having this information, you can use this for error analysis or usage metrics.

On this Page: