Applies to:
Product Release: V7 (Enterprise)Version: 7.7.2.1 [18353] Life Sci
Database: Oracle 9i
Application Server OS: Microsoft Windows 2000 Server SP 4
Database Server OS: HP-UX 11i
This document was previously published as Siebel SR 38-1755963921.
Symptoms
SBL-BPR-00255Hi,
We recently upgraded from 7.5.3 to 7.7. We have a browser script where we are calling
the Busienss Service - "Workflow Process Manager" to invoke a customized workflow. After the
upgrade,we have started getting the following error -
"GetReadBuffer was called on
WfProperty for incorrect datatype"
We searched supportweb for this error and found the SR
- 38-1480220601. I am not sure how that would be applicable in our case.
The code that is
being used to invoke the business service is as follows -
oService =
theApplication().GetService("Workflow Process Manager");
oPropIn =
theApplication().NewPropertySet();
oPropOut =
theApplication().NewPropertySet();
oPropIn.SetProperty("Object Id",
this.BusComp().GetFieldValue("Id"));
oPropIn.SetProperty("OrderNum",
this.BusComp().GetFieldValue("Order Number"));
oPropIn.SetProperty("ProcessName", "LFS
MOMSCreateOrder");
oPropOut = oService.InvokeMethod("RunProcess", oPropIn);
Please note
that there are other places where we are using the business service "Workflow Porcess Manager"
via the server script and it seems to be working fine. I am not sure if this is an issue with the
vanilla business service or is it an issue with the customized workflow. I am attaching the
customized workflow process and sif of the applet from where we are invoking the business
service.
Please suggest.
Thanks
Solution
Message 1
[1 / 2]For the benefits of other readers,
Customer tried to execute a workflow process from browser script but the following error was caused in Siebel 7.7:
"GetReadBuffer was called on WfProperty for incorrect datatype"
In the browser script, the “Workflow Process Manager” business service was used as follows:
oService = theApplication().GetService("Workflow Process Manager");
oPropIn = theApplication().NewPropertySet();
oPropOut = theApplication().NewPropertySet();
oPropIn.SetProperty("Object Id", this.BusComp().GetFieldValue("Id"));
oPropIn.SetProperty("OrderNum", this.BusComp().GetFieldValue("Order Number"));
oPropIn.SetProperty("ProcessName", "<workflow processname>”);
oPropOut = oService.InvokeMethod("RunProcess", oPropIn);
To troubleshoot the reported behavior, the customer was suggested to generate a detail traced client log file (Siebel.log) and from the log file, it was found that the error was caused while invoking a custom business service. Thus, the business service was reviewed in Siebel Tools and was found that a service method input argument with ‘Hierarchy’ as storage type caused the error.
(Cont) ...
Message 2
[2 / 2]That is because the input argument’s data type was String and in fact, it received a string value ‘US’ in the workflow process. Therefore, the input argument was one of properties in Inputs property set in the workflow process. However, the input argument’s storage type was defined as Hierarchy in service method argument definition so that the reported error was caused. Please note that the storage type ‘Hierarchy’ is for input argument in which hierarchy property set is stored.
After changing the storage type from Hierarchy to Property for the input argument, the reported error could be resolved.
Kind Regards,
Siebel Technical Support
No comments:
Post a Comment