如何将ListBox中选择的值发送到BIRT中的java webservice参数?

时间:2018-02-28 09:11:10

标签: web-services birt birt-deapi

我有一个 java webservice ,它获取Locations的值并执行操作。 在我的 BIRT 报告中,我有一个 ListBox ,其中包含所有位置的名称。 尝试将 ListBox 中的值与 webservice参数相关联时,BIRT开发人员会发出以下警告消息:

  

如果用户从报告参数中选择多个值,则为数据集   参数仅使用第一个值

我尝试在BIRT中创建一个隐藏的报表参数 ConsoleHandler ch = Spy( ConsoleHandler ) ch.loop() >> { throw new Throwable() } Logger mockLogger = Mock( SubstituteLogger ) ch.substLog = mockLogger when: ch.start() then: 1 * mockLogger.error( _, _ ) ,该参数是字符串类型,并将ListBox报表参数[RP_Hidden_Locations]中的值复制为[RP_All_Locations]

这没有工作,并且在webservice方法中收到了空值。

请帮忙!

PS: BIRT中数据集的数据源是Webserivce数据源 并发送报告参数值,如下所示

[RP_Hidden_Locations].value =  params["RP_All_Locations"].value.join("','");

1 个答案:

答案 0 :(得分:0)

首先创建隐藏变量。 在数据集的脚本选项卡中,在打开之前选择。加入listbox报告参数发送的所有值。使用此:

params [RP_Hidden_​​Locations] ="'" + params [" RP_All_Locations"]。value.join("',' &#34)+"'&#34 ;;

现在设置SOAP请求以发送此隐藏参数。