Re: Slow WFA getAllWorkflows WSDL SOAP command

I've seen something similar, not using WDSL/SOAP, but using the REST interface.

http://<wfaserver>/rest/workflows

This can take a long time ... I've seen it take longer but on my lab system just now with about 81 total workflows this took about 20 seconds and returned over 13,000 lines of XML ... on a WFA Win2012 server running with 2-cores and 4GB memory.

However, if you just access a category (group) of workflows you want returned (or use an existing Category like 'Setup', 'Migration', etc) you speed it up

Re: Slow WFA getAllWorkflows WSDL SOAP command

1. I can assume that the list of workflows and their IDs are not dynamically changing. Nor a new set of workflows get added too frequently.

2. So during every execution, you don't need to get the list of all workflows, then find your concerned workflow and get its ID and then call runWorkflow(id) to execute it.

Lets create a new DataSource to acquire the list of workflownames and their IDs. Acquistion happens on its own defined frequency and due to point (1), this DB will be fairly up to date. The data that you need can easily be fetched using a filter for a given workflow name.

This method will save your all the time the client was waiting for API response to fetch all workflows and computing their IDs. Take advantage of caching.

I'm making a sample code right now to elaborate this, will post its done.

sinhaa

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Re: Slow WFA getAllWorkflows WSDL SOAP command

Attaching the dar with a Data Source Type ( Importable on a WFA4.0) to get All workflows and their IDs that can be used by runWorkflow()

1. Modify your client to execute an SQL query using the default built-in DB credentials wfa/Wfa123 to get the workflow ID for any workflow you want to execute. The Query execution is lightning speed compared to REST API execution.

2. Now you have your ID, do what you were already doing.

sinhaa

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.