In IBM Case Manager you can create a task via Process Designer that invokes either a local or an external web service. Over time, there could be a situation where the partnerlink endpoint URL specified needs to be changed. For example, the partner link URL changes from http to https, the port number changes, or the target web service host name changes due to a server decommission.
Changing the endpoint URL will only affect new tasks that are launched after the workflow map has been modified. Work items that were created before the workflow map change will still reference the old web service URL. What is the best way to address the existing in-flight work items?
The best practice would be to complete processing all in-flight workflows before changing the endpoint URL. If this option cannot be done, the alternative is to update the F_EndPointRef URL field on these affected work items. However, this method requires that the affected work items must be either in the Conductor queue or in the WSRequest(0) queue. Once the affected work items are in one of these two queues, you can use Process Engine Process Administrator to query the affected work items in edit mode. The F_EndPointRef URL field will be called F_EndPointRef<partnerlink name>. The F_EndPointRef URL field is not visible in any other queues.
The value you want to paste in is XML, and should be like the following example :
The URL in the <wsa:Address> tag with blue text above is the URL you will want to change to whatever a new web service URL you need to change to.
Remember that, if your workflow uses the default out of the box (OOTB) Malfunction map, you must also set the F_WFReminder field to 1 so that the failing step ( presumably a Web Service invoke step ) will be re-executed on returning from the Conductor queue. If your workflow does not use the default Malfunction map, you may need to take additional steps, whatever is necessary in your environment, to ensure that the faulting step is re-executed. Save the changes and dispatch/complete the work item from the Conductor queue.
Another approach is to stop the WSRequest(0) component adaptor via the Component Manager Process Task Manager, and let the work items collect in the WSRequest(0) queue. Then, change the web service URL endpoint values for the work items there before restarting the WSRequest(0) component adaptor. If you are making the change in the WSRequest(0) queue, you don't have to set F_WFReminder value to 1 in that case, and you don't have to complete the work items. You have to just restart the WSRequest(0) component adaptor via the Process Task Manager to start processing the work items in the WSRequest(0) queue .
In some situations, for example when changing from http to https, the WSDL URL also need to be changed. If it is necessary, the WSDL URL can be specified in the EndPointReference by adding a <WSDLEndPoint> element to the XML. See the following example :
A clue that the WSDLEndPoint needs to be added is that if the wsinvoke.log has an error stack that shows an exception trying to retrieve a wsdl like the following :
EXCEPTION=javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?