REST Web Service Functions¶
REST web services leverage the HTTP GET, POST, PUT and DELETE methods. Content included in REST web services can be transferred using either URL encoding or content encoding.
URL¶
REST web services are based on the HTTP protocol. The web service call is made by issuing an HTTP request to the associated endpoint URL. Based on the request method, the endpoint URL may need to include additional parameters (such as an ID for a DELETE call). Parameters can be added to the URL using Node Tags (see Node Paths and Node Tags for more information). For example, a DELETE endpoint that targets a specific patient could use:
At runtime, {PID-3} is replaced with the MRN from the message.
Manually set URL (override web service connection)¶
By default, the destination's request URL is built from the Endpoint URL on the selected Web Service Connection. Check Manually set URL (override web service connection) to bypass that and build the URL on the destination itself from two fields:
- URL Template: the absolute base URL (for example,
https://api.example.com/patients). - URL Path: the per-call suffix appended to the URL Template (for example,
/{PID-3}to insert the patient MRN from the inbound message).
Both fields accept node tags, including message cache values like {mc:senderOid} that earlier mapping nodes can populate via messageCache.put(...). QIE evaluates the tags for each outbound message, and the dialog shows the resolved value in the Effective URL preview below the fields.
Use this when the destination URL must vary per message, for example, a FHIR PUT to /Patient/{s:PID-3.1}, or a partner-specific endpoint selected by an upstream script.
HTTP Headers button¶
Selecting the HTTP Headers button displays the HTTP Headers dialog. Enter each header and associated value in this list. Each header name must be entered with the prefix of "http.header.". For example, to send an Authorization header and an Accept header:
| Name | Value |
|---|---|
http.header.Authorization |
Bearer eyJhbGciOi... |
http.header.Accept |
application/fhir+json |
Header values may contain node tags or system variable references, allowing the value to be assembled from message data or shared configuration.
Content-Length on GET requests
QIE omits the Content-Length header on outbound HTTP GET calls that have no body, the HTTP specification treats Content-Length: 0 as an entity header describing an entity that a GET does not typically carry, and most servers accept the omission without complaint. Some strict servers or middleware boxes still require the header to be present, even set to zero, or the request is rejected.
To force it, add an entry to the HTTP Headers dialog:
| Name | Value |
|---|---|
http.header.Content-Length |
0 |
The same override works from a mapping script by setting parameterMap.put('http.header.Content-Length', '0') before the destination call.
Method¶
REST based web services are called using one of the following methods:
| Method | Description |
|---|---|
| GET | This method sends an HTTP GET request to the REST web service endpoint. The GET request is used to retrieve information from the REST web service. |
| POST | This method sends an HTTP POST request to the REST web service endpoint. The POST request is used to submit data to the REST web service. |
| PUT | This method sends an HTTP PUT request to the REST web service endpoint. The PUT request is similar to the POST request and is used to submit data to the REST web service. |
| DELETE | This method sends an HTTP DELETE request to the REST web service endpoint. The DELETE request is used to request that data be deleted or removed. The DELETE request typically includes a URL encoded ID associated with the record or data to be deleted or removed. |

