How to Cache WebServices?

How to Cache WebServices?

How can I cache a WebService on ServiceStudio like we have "Cache in minutes" as a property of a Screen on ServiceStudio interface?
Hi there Nuno,

I'm afraid that currently that property is not available and therefore you can't directly cache the result of a web service invocation.

One technique that I've used before with good results (on resources intensive web services) is to store a table with an hash of the webservice parameters (to uniquely identify invocations), a timestamp and the obtained results. This way, when your web service is invoked you can check first if you have a readily available copy of the results. You can use the timestamp to invalidate older results.

Depending on your particular situation (if your web service is resource intensive), this could come in handy.

Hope that helps!

Hi gonçalo,

How do you store the results of the webservice? Is it the webservice response as xml or the soap? Is it through outsystems or extension?
Hi Nuno,

Which version of the Agile Platform are you using?

With 5.1 you actually have the ability to do that.

If you are consuming a Web Reference you can set the "Cache in Minutes" for each specific method of the Web Reference you are calling.

If you are exposing a Web Service you can encapsulate all its logic in an Action and also specify the "Cache in Minutes" for it.

All the best,