2016-04-25 89 views
1

我需要通过脚本调解器捕获get请求中的url参数解析。我使用WSO2 esb 4.8.1。我试着用下面的js代码。但它给出了一个错误,说没有定义窗口。如何读取wso2 esb脚本调解器中的请求参数值

function getUrlVars() { 
 
var vars = {}; 
 
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
 
vars[key] = value; 
 
}); 
 
return vars; 
 
} 
 

 
\t 
 
\t \t var requestNew="<m:ViW xmlns:m=\"wom\">                         
 
\t \t \t <m:request> 
 
\t \t \t <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>"; 
 
\t \t \t requestNew=requestNew+" 
 
      <RequestedTo>"+getUrlVars()['RequestedTo']+"</RequestedTo> 
 
     </m:request>                  
 
     </m:ViW>"; 
 
\t 
 
\t 
 
\t mc.setPayloadXML(new XML(requestNew));

那么,怎样才能访问我在WSO2 ESB脚本中介URL参数值?

+0

什么你通过URL参数意思?剩余网址模板值? –

+0

[如何读取WSO2 ESB 4.8或更高版本中的查询参数?](http://stackoverflow.com/questions/27295902/how-to-read-query-param-in-wso2-esb-4-8 - 或 - 以上) –

+0

也有点相同。我的情况是在脚本调解器中访问querry参数。我无法以这种方式访问​​。 –

回答

2

Following博客会告诉你如何去做。其书面目标为WSO2 API Cloud。但是由于突触在ESB和API Manager中都有使用,所以它对你的问题也是有效的。综上所述,

要检索的路径参数

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

要检索查询参数

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

谢谢。它正在工作 –