如何从Tibco ActiveMatrix的Java方法中检查空值

时间:2012-10-03 07:04:41

标签: xpath null tibco businessworks

我在检查Tibco ActiveMatrix进程中的Java方法组件的空值时遇到了麻烦。

基本上,我有一个Java方法组件调用java来获取一个结算帐户,如果返回为空,我想记录搜索条件 - 结算帐号id;否则,我会将对象映射为XML内容......

问题是在'XPath'中使用以下内容来检查转换中的空对象(带条件的成功):

  • 空($获取-BA-详情/ NS5:JavaMethodActivityOutput / MethodReturnValue
  • count($ Get-BA-Details / ns5:JavaMethodActivityOutput / MethodReturnValue)= 0
  • string-length($ Get-BA-Details / ns5:JavaMethodActivityOutput / MethodReturnValue)= 0

'$ Get-BA-Details'是Java方法组件。

它们都返回'false',然后尝试将java对象映射为XML内容,这会导致在找不到结算帐户时出错。

有人可以点灯吗?

非常感谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

$ GET-BA-详情/ NS5:JavaMethodActivityOutput / MethodReturnValue = “”

答案 1 :(得分:0)

据我所知,无法使用XPath检查Java Method活动的返回是否为null。相反,您可以创建一个Java代码活动,该活动将ObjectReference作为输入参数,并提供boolean作为输出参数。然后,您可以使用以下代码来检查对象是否为nullobject是输入参数,isnull是输出参数):

isnull = object == null; 

我已经在BWUnit的最新快照中为此创建了BWUnit测试,您可以从http://windyroad.org/software/bwunit/download/BWUnit-11.2.zip下载

测试位于StackOverflow/UnitTestSuite/JavaMethodNullTestCase的简单示例中,该示例位于下载中的Examples/Simple中。