[英]Getting empty response from backend - Gatewayscript
我必須根據 agent_id 從后端服務器獲取代理的詳細信息。 我們在標頭中傳遞了幾個輸入參數。 我想在出現錯誤時獲取請求 ID 號。 我編寫了如下網關腳本:
// Define modules
var sm = require('service-metadata.js');
var hm = require('header-metadata.js');
var apim = require('./apim.custom.js');
var LegacyAgentNumber = apim.getvariable('request.parameters.LegacyAgentNumber');
var requestId = apim.getvariable('request.parameters.requestId');
var channelId = apim.getvariable('request.parameters.channelId');
var channelName = apim.getvariable('request.parameters.channelName');
var sm_user = apim.getvariable('request.parameters.sm_user');
// To send as query parameters
var queryString = '$filter=contains(LegacyAgentNumber,%27'+legacyAgentNumber+'%27)';
apim.setvariable('queryString', queryString);
apim.setvariable('requestId', requestId);
apim.setvariable('channelId', channelId);
apim.setvariable('channelName', channelName);
apim.setvariable('sm_user', sm_user);
var contentType = apim.getvariable('request.headers.content-type');
apim.setvariable(sm_user, contentType, 'set');
if (error) {
{
//here I want to print the requestID from headers as values in errorId and refidRequest fields.
"errorId": "{requestId}Err",
"refidRequest": "{requestId}",
"httpCode": "400",
"httpMessage": "Bad Request",
"moreInformation": "Invalid Input Parameters"
}
else {
// read response data
// get the response status code
var vid = apim.getvariable ('request.parameters.id');
var vapiversion = apim.getvariable('api.version');
var vapiname = apim.getvariable('api.name');
var sresponse= {"AgentMailingAddressKeepAliveResponse": {"responseHeader": {
"id": vid +"_rs",
"refidRequest": vid,
"cmdType": "response",
"cmdStatus": "Success",
"message": "keepAlive response message "+vapiname+":"+vapiversion
}}}
apim.setvariable('message.body',response);
apim.setvariable('message.headers.content-type','application/json');
apim.setvariable('message.status.code',200);
我如何為此編寫查詢字符串並實現從目標獲取詳細信息。
如我所見,您已經在變量中保存了必要的數據。 那么您是否在調用策略中嘗試過如下查詢?
https://dev.blah.com:port/enterprise/dev/agencies/agency/books/book/agents/$(agentId)/contact-information?requestId=$(requestId)&channelId=$(channelId)&channelName=$(channelName)
你也不需要使用這個文件:
var sm = require('service-metadata.js');
var hm = require('header-metadata.js');
var apim = require('./apim.custom.js');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.