6 Replies Latest reply on Sep 17, 2010 10:55 AM by fireworks12

    Referencing the version of the soap service in the WSDL call

    Arnej6511 Level 1

      I'm wondering if you can call the version of the soap service in the wsdl call. That way you can have different sources using different version of the service.

       

      Cheers,

        • 1. Re: Referencing the version of the soap service in the WSDL call
          Jasmin Charbonneau Level 4

          Yes you can.

           

          If  you take a look at the WDSL from the default endpoints:

           

          http://localhost:8080/soap/services/etechTests/Processes/CallGuide?wsdl&lc_version=9.0.0&version=1.0

           

          You can see that the version is included as a query string parameter.

           

          Jasmin

          • 2. Re: Referencing the version of the soap service in the WSDL call
            fireworks12

            Hi,

             

            Just for clarity, are you asking how to run a specific version of the same process?  It sounds like it.  If so, while what Jasmin said is correct, keep in mind that a WSDL that is returned only represents the service interface (i.e. inputs and outputs).  If your versions don't differ at the interface/endpoint the WSDL isn't going to help you with versioning.

             

            Basically, if you change the workflow/process but not the interface/endpoint the WSDL will look the same.  To the best of my knowledge when you make a call to the service/process LC uses the definition of the call (which is based on the WSDL) to run the right process version.   So, if you have services/processes that have the same WSDL definition even though there are multiple versions of the process, which one does it run?  I believe it runs the newest version.  This will create an interesting challenge to support legacy systems.

             

            I'm willing to admit that the above is my understanding from dealing with web services in general so maybe there is something extra to the way LC can handle calling a specific process when the interfaces are the same.  Or maybe I'm just completely wrong!

             

            Interested in confirmation on this myself.  Thanks!

            • 3. Re: Referencing the version of the soap service in the WSDL call
              Arnej6511 Level 1

              My group consumes the services in .NET by creating a web reference in the code. This generates a proxy to use the service.

               

              In order to do what fireworks12 is saying, we need to say 'use this version of the service and not that one'.

               

              I tried giving the version in the wsdl call in the brower, but it doesn't seem to really work. I gave it a version is that was not active, and no error was given. I assuming that it gave the most active version instead.

               

              Help on this would be great.

              • 4. Re: Referencing the version of the soap service in the WSDL call
                fireworks12 Level 1

                Good example.  It's not really clear what the best practices are with respect to versioning the processes, and what possible usage scenarios are.

                 

                Should we be following SOA practices (i.e. UDDI), or is maintaining multiple active versions not advised?  Is the idea to create a new process if the workflow changes but the interface doesn't? That way your versioning the endpoints safely for legacy systems?

                 

                I'd love to clear this up.

                • 5. Re: Referencing the version of the soap service in the WSDL call
                  Arnej6511 Level 1

                  I know that creating a new process from an existing one would work, but the maintainence for keeping track off all the version by name, would need to be tracked outside of LC.

                   

                  How do forms reference version of services? I have not dont forms work, but is there a way to use different version in forms?

                   

                  One would think that if LC allows for more than one active service at a time, that you could reference them.

                  • 6. Re: Referencing the version of the soap service in the WSDL call
                    fireworks12 Level 1

                    Yup, tracking them 'outside' is SOAish.  Specifically something like UDDI is designed to deal with that problem.

                     

                    THe only benefit that versioning of the processes provides, that I'm aware of, is between processes.  Externally, I think the expectation is that the processes are strongly related to a business workflow/form.