我正在尝试实现功能,我必须调用两个不同的后端/目标端点,这些端点在一个序列中具有完全不同的接口。在第一次呼叫出现错误情况时,一次呼叫的输出将成为第二次呼叫的输入。
我想知道如何实现这一点。我是Apigee的新手,所以细节会对我有所帮助。
答案 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