我需要捕获脚本调解器在get请求中解析的url参数。我使用WSO2 esb 4.8.1。我尝试使用以下js代码。但它给出了一个错误,说窗口没有定义。
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
var requestNew="<m:ViW xmlns:m=\"wom\">
<m:request>
<RequestHeader>
<RemoteIP>dummyIp</RemoteIP>
<AppName>dummyAppName</AppName>
<AppPassword>dummyPassword</AppPassword>
<UserName>dummyUserName</UserName>
</RequestHeader>
<OrderId>23</OrderId>
<AccountNo>23</AccountNo>
<Cir>23</Cir>
<DocketNo>23</DocketNo>
<Status>23</Status>
<RequestType>23</RequestType>
<RequestedFrom>2016-04-19T22:47:37.000Z</RequestedFrom>";
requestNew=requestNew+"
<RequestedTo>"+getUrlVars()['RequestedTo']+"</RequestedTo>
</m:request>
</m:ViW>";
mc.setPayloadXML(new XML(requestNew));
那么如何在wso2 esb脚本中介中访问url参数值?
答案 0 :(得分:3)
Following博客会告诉您如何操作。其书面目标WSO2 API Cloud。但由于在ESB和API Manager中都使用了synapse,因此它也适用于您的问题。总之,
检索路径参数
var id = mc.getProperty('uri.var.id');
检索查询参数
var mask = mc.getProperty('query.param.mask');