我要求在给定的调用中调用序列中的两个不同的端点

时间:2014-06-26 15:16:26

标签: apigee

我正在尝试实现功能,我必须调用两个不同的后端/目标端点,这些端点在一个序列中具有完全不同的接口。在第一次呼叫出现错误情况时,一次呼叫的输出将成为第二次呼叫的输入。

我想知道如何实现这一点。我是Apigee的新手,所以细节会对我有所帮助。

1 个答案:

答案 0 :(得分:1)

听起来您需要在请求流中执行ServiceCallout。

将目标设置为您需要在正常流程中与之通信的第二台服务器。然后创建一个策略以呼出您的第一个目标:

<ServiceCallout name="myPolicy">
    <Request clearPayload="false" variable="myRequest"/>
    <Response>myResponse</Response>
    <HTTPTargetConnection>
        <Properties/>
        <URL>http://example.com</URL>
    </HTTPTargetConnection>
</ServiceCallout>

请注意,响应块会将响应中的标头和有效负载放入一个对象中,然后您可以使用&#34; myResponse&#34;提取变量。作为&lt; Source&gt;在ExtractVariables政策中。

然后,您可以使用AssignMessage策略使用您在ExtractVariables中设置的变量为目标构建新请求

服务标注 http://apigee.com/docs/api-services/content/call-services-or-apis-using-servicecallout

<强> ExtractVariables http://apigee.com/docs/api-services/content/extract-message-content-using-extractvariables

<强> AssignMessage http://apigee.com/docs/api-services/content/generate-or-modify-messages-using-assignmessage