如何在wso2 esb脚本介体中读取请求参数值

时间:2016-04-25 07:13:39

标签: wso2 wso2esb url-parameters

我需要捕获脚本调解器在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参数值?

1 个答案:

答案 0 :(得分:3)

Following博客会告诉您如何操作。其书面目标WSO2 API Cloud。但由于在ESB和API Manager中都使用了synapse,因此它也适用于您的问题。总之,

检索路径参数

var id = mc.getProperty('uri.var.id');

检索查询参数

var mask = mc.getProperty('query.param.mask');