Wednesday, February 6, 2013

Get - Set - Go! - Setting an attribute or variable on the Axway/Vordel API Gateway

I'm leading an API Workshop today here in Australia. We'll be covering exciting topics like mashing up APIs together, OAuth 2.0, and API monitoring. However, something the less exciting "How To's" can be important too. One common feature I use in the Axway/Vordel API Gateway is a simple Get/Set: the ability to set an attribute (i.e. a variable) in a policy then to get the value of that variable. I use the "Copy/Modify Attributes" filter to do the "Set". Below, I am setting an attribute/variable called australia.melbourne.weather to "Warm":


Next I do the "Get". So, I use a "Set Message" filter which is outputting the value of this variable, using ${australia.melbourne.weather} :


Then finally I use a "Reflect Message" filter to return my message to the client with an HTTP Code of 200:


Now, I write this up to a path called "/getWeather", like this:


So now when I call the API Server on the path of "/getWeather", I get the weather for Melbourne.



Of course, you could read the variable from a database or from another API. But in this case, I'm showing how you can set it with a "Copy/Modify Attributes" filter, which can be a useful step to perform in your Axway/Vordel API Gateway policies.