Proxy
Apply the Proxy policy to invoke another API within
your assembly, particularly if the separate API contains a large payload. The response from the
backend is stored in the message.body
and in the response object variable if it is
defined. Only one policy is permitted to be run per unique assembly flow.
Gateway support
Gateway | Policy version |
---|---|
DataPower® Gateway (v5 compatible) | 1.0.0 |
DataPower API Gateway, functionality provided by Invoke |
This topic describes how to configure the policy in the assembly user interface; for details on how to configure the policy in your OpenAPI source, see proxy.
About
Only one Proxy policy is permitted to be run per unique flow of your assembly. More than one Proxy policy can be applied, if they are contained in mutually exclusive branches of the assembly.
You can use the Proxy policy to return multipart form data, that is, when the response is set to Content-Type: multipart/related. However, Proxy must be the last policy in the assembly, otherwise the response that is received can be manipulated during subsequent steps, thereby causing the multipart form data to be lost.
The proxy policy, if inside a conditional policy, must be the final policy to be executed in the API. If you need further processing afterward, use the invoke policy rather than the proxy policy.
Properties
The following table lists the policy properties, indicates whether a property is required, specifies the valid and default values for input, and specifies the data type of the values.
Property label | Required | Description | Data type |
---|---|---|---|
Title | Yes | The title of the policy. The default value is |
string |
Description | No | A description of the policy. | string |
Invoke URL | Yes | Specifies a URL for the target service. For a SOAP API, a URL is added by default. Where possible, the Proxy URL value is pre-supplied from information that is defined in the imported WSDL. |
string |
TLS profile | No | Specifies a TLS profile to use for the secure transmission of data. | string |
Timeout | Yes | The time to wait before a reply back from the endpoint (in seconds). The default value is
|
integer |
Username | No | The username to use for HTTP Basic authentication. | string |
Password | No | The password to use for HTTP Basic authentication. | string |
HTTP Method | Yes | The HTTP method to use for the proxy. Valid values are:
Keep . By using Keep , or removing the
property from the source, the HTTP method from the incoming request is used. |
string |
Compression | No | Select this check box to enable Content-Encoding compression on upload. The check box is cleared by default. |
boolean |
Cache Type |
No | The cache type determines whether to cache documents, honoring or
overriding the HTTP Cache Control directives received in the response from the target URL. This
property takes effect only when a response is received, otherwise the policy always returns the
non-expired response that was previously saved in cache. Valid values are:
The default value is Protocol. |
string |
Time to Live |
No | Specifies the amount of time in seconds that the response stays in the cache. Applies only if
the property Cache type is set to Time to Live . Enter a
value in the range 5 - 31708800. The default value is |
integer |
Cache key |
No | Specifies the unique identifier of the document cache entry. If omitted, the entire URL string is used as the key. | string |
Stop on error | No | Select the errors that, if thrown during the policy execution, cause the assembly flow to
stop. If there is a catch flow configured for the error, it is triggered to handle
the error thrown. If an error is thrown and there are no errors selected for the Stop on
error setting, or if the error thrown is not one of the selected errors, the policy
execution is allowed to complete, and the assembly flow continues. |
string |
Response object variable |
No | The name of a variable that will be used to store the response data from the request. This variable can then be referenced in other actions, such as 'Map'. | string |
X-Forwarded header | No |
This header can be provided by
|
string |