Update Consumer WSDL

Hello all,

does anyone have experience with updating a consumer WSDL?

I have an updated WSDL which I need to implement. Instead of creating new folder containing the new WSDL, is it possible to update the existing one? I can see there is a way to modify the old WSDL in designer and refresh it. Is this recommended and safe to do?

I am trying to avoid having to go through all my flow services and manually updating each web service call.

thank you for your time

-Cory

Hi,

Yes, it only has to be in a place where the Designer can read it. It will ask for the location when you demand a refresh of the Web Service Descriptor (not the Connectors).

The WSD’s connectors and documents (supposing you did not change them) will now reflect the new WSDL definitions, which could mean that all the code that depends directly on those will be affected.

If you have defined responseServices, there is a possibility that any code inside them might be lost; it is best to copy those to somewhere outside the WSD’s folder.

It is for this reason I always have wrapper services (in a sibling folder of the WSD’s folder) which denaturate the web services definitions (that is isolate all traces of specific namespaces, services and schemas).

If you have those wrappers in place, you will only need to check them once. Otherwise, you will to revise all the dependent code.

To revise the dependent code:

  1. before changing the WSD
    a) find all dependencies in code and docs.
    b) have test services which cover all scenarios of interest (in the WSD and dependent code)

  2. after changing the WSD
    a) run all tests to check for any change in behavior of the WSD and failed dependent services
    b) adapt all dependent code to the refreshed WSD
    c) go back to 2a) until all tests pass

Beware that certain wsdl changes can create a mismatch of document references which is only visible when the fields are not mapped.

Good luck.

2 Likes

Thank you Gerardo for the guide. I will give it a try!