[Service Studio] REST API - BaseURL - allow BaseURL value to be a variable text value.

By Robert Chanphakeo on 28 Sep 2014
Use case #1 You built a REST provider in outsystems and now you want to share it via Outsystems Forge as a component.
Each outsystems customer will install it on their outsystems platform and they will consume a different BASEURL for their server domain.

Use case #2 If you want to test your REST consumer eSpace, you might want to change the BASEURL to test it in sandbox or in live mode. Most commerial REST providers offer a sandbox and a live enviroment - the REST API structure defination is the same but the server and request URL is different.

Use case #3 You are an enterprise, you install product X on many enterprise servers, and now you want to build a component to consume product X REST API.

It doesnt make sense to clone and duplicate the component/functions hundreds or thousands of times to do the same thing! these problems will be solved with a variable text value BASEURL.

We had a similar problem with SOAP BASE URL being a fixed endpoint URL; the solution was to create a SOAP proxy via extension, that solved the problem but it also increased cost of code maintainance.

André Vieira28 Sep 2014
Hi Robery,

You can either configure the URL in Service Center or use the extensibility to change the endpoint of the service.

Thanks, changing the BaseURL via OnBeforeRequest_Action solves the issue for REST!

SOAP still an issue, there is no OnBeforeRequest action or change BaseUrl option.

Goncalo Borrega29 Sep 2014
Hi Robert,
For SOAP web references you can do that by calling the SetWebReferenceURL methods from the EnhancedWebReferences module right before you call the web service.