'send-request' Policy Statement

Q

How to use the "send-request" Policy statement to call an extra web service for an Azure API service operation?

✍: FYIcenter.com

A

The "send-request" Policy Statement allows you to call an extra web service and store the response in a given variable.

The "send-request" statement has the following syntax:

<send-request mode="new|copy" response-variable-name="" timeout="60 sec" ignore-error="false|true">  
  <set-url>...</set-url>  
  <set-method>...</set-method>  
  <set-header name="" exists-action="override|skip|append|delete">...</set-header>  
  <set-body>...</set-body>  
</send-request>  

Where:

  • mode="new (default) | copy" - Indicates whether you want to start with new empty request of take a copy of the "context.Request" object.
  • response-variable-name="" - Specifies a new context variable to store the response object returned from the call.
  • ignore-error="..." - If set to "true" and the call failed, the process continues.

For example, the following inbound policy makes an extra web service call. The response of the call will be stored a context variable called "loginResponse":

<inbound>
  <send-request mode="new" response-variable-name="loginResponse" timeout="20" ignore-error="true">  
    <set-url>http://dev.fyicenter.com/api/authorization</set-url>  
    <set-method>POST</set-method>  
    <set-header name="Authorization" exists-action="override">  
      <value>basic dXNlcm5hbWU6cGFzc3dvcmQ=</value>  
    </set-header>
  </send-request>  
</inbound>

 

Policy to Control Backend Service

⇒⇒Microsoft Azure API Management Tutorials

2017-09-23, 136👍, 0💬