I'm using the webservices to interface with Informatica. I have the following scenario:
1- I need to start a workflow.
2- Once the workflow is started, I need to poll the workflow to see what it's status is.
3- Once the workflow finishes, I need to retrieve the workflow log.
I've been using the startWorkflow
web service call to start the workflow. I've been using the getWorkflowDetails
web service call to retrieve information about the workflow. The problem I run into is that there can be many many workflows running, some of which have the same workflow name and instance name. I need to monitor only the workflow that I am starting myself. One of the parameters I can pass to getWorkflowDetails
is the WorkflowRunId; using this seems to work. However, the call to startWorkflow
does not return the resulting runId of the workflow it started. Are there any other ways to tie a startWorkflow
command to a getWorkflowDetails
in such a way so as to be certain I am processing the correct workflow run? I see there are fields like "Key", available, but I'm not certain how to use them and the documentation (https://www.scribd.com/doc/38057161/Informatica-PowerCenter-9-0-Web-Services-Provider-Guide) seems kind of thin on details.
Use startWorkflowEx
instead of startWorkflow
startWorkflowEx
Use this operation to start a workflow. The startWorkflowEx operation returns the run instance ID of the workflow.Use the startWorkflowEx operation instead of the startWorkflow operation to get the run ID of the workflow startedby the operation.