我有一个 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("','");
答案 0 :(得分:0)
首先创建隐藏变量。 在数据集的脚本选项卡中,在打开之前选择。加入listbox报告参数发送的所有值。使用此:
params [RP_Hidden_Locations] ="'" + params [" RP_All_Locations"]。value.join("',' &#34)+"'&#34 ;;
现在设置SOAP请求以发送此隐藏参数。