SOAP Web Service URL not always updating

SOAP Web Service URL not always updating

  

We have a SOAP web service that is used only by an OutSystems eSpace. Sometimes we have made non-backwards-compatible changes to the web service and we want to be able to test the new version while still having the old version available in testing and production. 


To do this we've been using an a/b web service naming method. While MySVCa is being used in production, we will name the next version MySVCb and use it's URL to refresh the SOAP Web Service for testing and for the soon to be next version.

Sometimes though, when we use Lifetime to promote our new SOAP Integration consuming eSpace to the Production environment, the Effective URL does not update and instead continues to point at the other version. Sometimes it is fine and automatically updates.

What would cause the eSpace Integrations Consumed SOAP Web Services Effective URL to not update when we push a module into production?


Thank you,

Jacob



Hi Jacob,

Did you try Site Properties?

Hi Jacob,

Unless you create a new web service (and the same goes for site-properties and REST integration URLs), when publishing an eSpace the value is not overwritten. Which is good, because when publishing an eSpace from test to production, you definitely do not want your test-URL to be put in production as well.

So the answer to your question "what would cause the URL to not update" would be "when it's the same web service already in production".

Solution

Hi Jacob,

When you have an effective URL set on service center for the Web Service it will not change when you promote it between environments. If you don't have the effective URL set it will assume the one that was consumed on service studio.

Ana Reis

Solution

Suraj Borade wrote:

Did you try Site Properties?

Hi Suraj,

I didn't. We aren't calling SetWebReferenceURL  or anything, just relying on what is set for the SOAP URL.


Kilian Hekhuis wrote:

Hi Jacob,

Unless you create a new web service (and the same goes for site-properties and REST integration URLs), when publishing an eSpace the value is not overwritten. Which is good, because when publishing an eSpace from test to production, you definitely do not want your test-URL to be put in production as well.

So the answer to your question "what would cause the URL to not update" would be "when it's the same web service already in production".

Hi Kilian,

That makes sense when using it that way, and that may be the more common way of using it. 


This module was written to always have a production and a testing URL and the callers branch on the environment or an override flag to decide which SOAP service to call, which does mean a duplication of the SOAP service definition.

It's using a versioned URL so having it migrate into production is what is wanted in this particular case.


Ana Reis wrote:

Hi Jacob,

When you have an effective URL set on service center for the Web Service it will not change when you promote it between environments. If you don't have the effective URL set it will assume the one that was consumed on service studio.

Ana Reis

Hi Ana,

This must be the case. That value is set and maybe the times we have seen it work as expected, that value was undefined. I was able to find documentation about this once you pointed out that setting ( I was not expecting Effective meant Override):

By setting an Effective URL, you are overriding the URL defined at development time. Even if developers change the URL in the application, OutSystems Platform uses the Effective URL.

https://www.outsystems.com/help/lifetime/9.0/User_Stories/Configure_Application_Settings_After_Deployment.htm

Thank you,

Jacob