diff --git a/workflow/engine/methods/services/soap2.php b/workflow/engine/methods/services/soap2.php index 82aab3ece..0ece6966f 100755 --- a/workflow/engine/methods/services/soap2.php +++ b/workflow/engine/methods/services/soap2.php @@ -752,6 +752,11 @@ function NewCase ($params) $variables = $params->variables; $field = array (); + + if ($variables->name === "__POST_VARIABLES__") { + $field = G::json_decode($variables->value, true); + $variables = null; + } if (is_object( $variables )) { $field[$variables->name] = $variables->value; diff --git a/workflow/engine/templates/processes/webentryPost.tpl b/workflow/engine/templates/processes/webentryPost.tpl index 2bee8e621..371341842 100755 --- a/workflow/engine/templates/processes/webentryPost.tpl +++ b/workflow/engine/templates/processes/webentryPost.tpl @@ -44,7 +44,10 @@ try { ws_open(); if ($swpmdynaform) { - $result = ws_newCase("{processUid}", "{taskUid}", convertFormToWSObjects($pmdynaform)); + $obj = new stdClass(); + $obj->name = "__POST_VARIABLES__"; + $obj->value = G::json_encode($pmdynaform); + $result = ws_newCase("{processUid}", "{taskUid}", array($obj)); } else { $result = ws_newCase("{processUid}", "{taskUid}", convertFormToWSObjects($_POST["form"])); }