HTTP Header Support
The Designer comes with many adapters (see Adapters) that allow you to access a variety of backends via different interfaces. Requests to REST services, and via REST adapters 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).
Also, the Runtime provides interfaces to act as a variety of services. In general, the Runtime supports HTTP 1.0 for services but some features of HTTP 1.1 are implemented as well (see Standard HTTP Headers with Service Implementations below).
Standard HTTP Headers with xUML Service 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() Function. 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 PAS platform supports HTTP version 1.0 for xUML services. However, the following features of HTTP 1.1 are implemented to the xUML Runtime 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() Function.
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.
Related Pages: