The Invoke Web Service action allows you to invoke a specified Web service and Create an Invoke Web Service action for a Workflow. A Web service is a way to call code located on a different machine via HTTP.
Deltek recommends that the Invoke Custom Method action be used to execute custom code during a workflow whenever possible. The Invoke Web Service action should be used when using a third party Web service, or when using Invoke Custom Method is not possible. (For example, the code needs to update a database that is not accessible from the PM Compass application server.)
When writing a Web service to be invoked via Workflow, it is crucial that there is no attempt to either read or update the data being updated in the Save operation that triggered the workflow. Doing so will cause the Web service’s database call to be blocked and will result in a database lock. The database call will then time out, and the Web service call will fail.
When you select this action, PM Compass displays the Web Service Configuration dialog box.
Reasons to use Invoke Custom Method over Invoke Web Service
As a developer, you do not need to hard code SQL connection strings; you always get access to "current" PM Compass database.
A lot less code to get/retrieve data as the WorkflowBaseClass provides easy to use methods for this.
An easy way to send messages back to the user.
If an error occurs, any changes you made to the PM Compass database will automatically be rolled back.
Better performance because of having to avoid serialization/deserialization of data, as well as no need for the overhead of making an HTTP call.
Reasons to use Invoke Web Service over Invoke Custom Method
Need to call a third party Web service.
Running the custom code on the PM Compass application server is not possible because the code must reside at a different location.
Complete the process when a workflow fails