2

I need to catch the url parameters parsing in a get request by script mediator. I uses WSO2 esb 4.8.1. and I tried with the following js code. but it gives an error saying window is not defined.

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));

So how can I access url parameter values in the wso2 esb script mediator?

Community
  • 1
  • 1
Anushka Ekanayake
  • 977
  • 2
  • 13
  • 33

1 Answers1

3

Following blog will tell you how to do it. Its written targetting WSO2 API Cloud. But since synapse is used in both ESB and API Manager, its valid for your question as well. In summary,

To retrieve path parameters

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

To retrieve query parameters

var mask = mc.getProperty('query.param.mask');
Amila Maharachchi
  • 2,121
  • 2
  • 15
  • 21