Skip to main content

I have a K2.Net 2003 (sp4) process that calls a web service as part of the process. When the "web service and assembly" wizard runs the end result is a web service call in my process and the the web service dll appearing in the projects bin folder.


 Recently the web service namespace has changed (nothing else changed).  After the new web service was deployed all existing process instances get SOAP exceptions.  How can I either update the web service dll that an existing process version is using, OR move an existing process instance from process version n to process version n+1.


 

I have found that I can do this by updating the value of Assembly in the _Reference table to be the value of the web service proxy dll in the later version.


I know this is an unsuported change but it works!  What are the risks involved?  What is the worst case scenario?   If it works for an existing process instance does that mean it will work for all existing process instances?


 If I just change the reference fr an older version is the worst case scenario that all my existing instances are no good, but any new instances (on latest version) will be OK?


 What about the other option? Can we move a process instance on version n to version n+1? Is this more dangerous (all referenced assemblies will be different).


Did you export a new version of Workflow Process that references your new webservice DLL (so the entry gets into _Assembly) then you updated _Reference's old process Export ID to the new ID number of assembly?

 Did you have to restart K2 Service to get that to work?
 


Yes that's exactly it.  A restart of the K2 service was required to make it work.

Reply