Workflow Application: WCF Service compared to ASMX Web Service

Question

We used to have two ways to set up ASMX web services for WorkflowGen as applications. One way is to process all context parameter manually including update multiple OUT parameters; another way is to create a standalone web service and use the WSDL implementation but one 1 value is expected to be returned
(RETURN_VALUE).

Answer

WCF Service supports HTTP POST and SOAP methods.

HTTP POST

Similar to ASMX WS, this method passes and returns the workflow context parameter WFGEN_CONTEXT (string case sensitive). In this mode, you can pass and return as many parameters as needed since they are all embedded inside the workflow context.

See FAQ and example

SOAP

Similar to ASMX WS with WSDL, and uses specific parameter type defined in the web method. This mode accepts only one return parameter (RETURN_VALUE).

See FAQ and example

SOAP with workflow context (as of WorkflowGen version 5.6.3)

This is a new method that’s a combination of the preceding two. The WCF service is called using the SOAP protocol and passes/returns the workflow context as the only parameter of the web method. The parameter name can be either workflowContext or WFGEN_CONTEXT (string case insensitive). The return value is optional. So your web method could be Void.