无法在javascript调用环境中捕获从Business Service方法返回的输出属性集

时间:2013-08-02 12:26:30

标签: javascript siebel escript

我们正在尝试在Siebel Open UI中的自定义演示模型文件中检索数据。我们正在使用输入属性集调用业务服务方法。我们能够调用BS方法,并且所有内容都在Siebel端按预期工作。但是当我们从Siebel BS返回到Calling环境时,在调用环境时,分配的变量没有被填充。

自定义js文件中的代码

var service = SiebelApp.S_App.GetService( "My BS" );
if( service )
{
    outPS = service.InvokeMethod( "GetDetails", inPS ); 
    alert("Value of OutPS    :"+ outPS);
    var test = outPS.GetChildByType('ResultSet').GetProperty("Mypropname");
    //tried var test = outPS.GetProperty("Mypropname");
    alert(Mypropname);
    //here outPS is coming as null, when we verify it from siebel side its populated
}

请告诉我们是否需要更改某些内容或任何其他经过测试的方式从Siebel BC获取数据。

作为我们自定义的一部分,我们需要来自Siebel BC的数据才能在此javascript文件中使用。

1 个答案:

答案 0 :(得分:0)

下面提到的代码似乎对我有用。另外请确保" out_prop_name"与BS中定义的完全相同。

var svc = SiebelApp.S_App.GetService("BS Name");
var inp_svc=SiebelApp.S_App.NewPropertySet();
inp_svc.SetProperty("inp_prop_name","prop_val");
var out_svc=SiebelApp.S_App.NewPropertySet();
out_svc=svc.InvokeMethod("MethodName",inp_svc);
out_svc.GetChildByType('ResultSet').GetProperty("out_prop_name");