2
votes

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?

1
What do you mean by url parameter? Rest url template values? - Abimaran Kugathasan
that also somewhat same. my case is accessing querry parameters inside script mediator. I couldnt access in that way. - Anushka Ekanayake

1 Answers

3
votes

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