Yes you can.
If you take a look at the WDSL from the default endpoints:
You can see that the version is included as a query string parameter.
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!
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.
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.
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.
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.