Oracle Service Bus 12c - 如何在Java Callout中传递Array Data类型

问题描述 投票:0回答:1

我创建了一个java类,其参数为String []数据类型,但无法弄清楚如何传递数组。我试过的是将数组放在单引号内,但是当我运行代理服务时,它返回null。

请求参数:

java.lang.String = 'EDGF.FMW_SELECT_TABLE_NAME'
java.lang.String[] = '{"jdbc:oracle:thin:@IP:PORT:SID", "User", "Password"}'
java.lang.String[] = '{$body/oraf:Order/oraf:var1,$body/oraf:Order/oraf:var2}'

enter image description here

我设置输出的方式就像这样作为回应

<oraf:queryResult>{data($resultSetTable)}</oraf:queryResult>

enter image description here

我尝试使用相同的参数运行Java类,并返回结果。

运行Java类的结果:

, 49451234, , , 2019-02-13 00:00:00.0, , 12341234, , null,

运行代理服务的响应

<soapenv:Body>
<oraf:queryResult xmlns:oraf="http://xmlns.oracle.com/db/SPName"/>
</soapenv:Body>
oracle12c weblogic12c osb
1个回答
0
投票

要将数组放入JavaCallout,您可以使用fn:tokenize函数,例如:

创建$ variable ealier,例如使用assign(“var1,var2,var3”)然后在你的参数下面的行中粘贴: FN:标记化($变量, '')

© www.soinside.com 2019 - 2024. All rights reserved.