Oracle Service Bus 12c - Как передать тип данных массива в Java Callout - PullRequest
0 голосов
/ 19 февраля 2019

Я создал класс java с аргументом типа данных String [], но не смог понять, как передать массив.Я пытался поместить массив в одинарные кавычки, но когда я запускаю прокси-сервис, он возвращает ноль.

Аргументы запроса:

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>

1 Ответ

0 голосов
/ 09 марта 2019

Чтобы поместить массив в JavaCallout, вы можете использовать функцию fn: tokenize, например:

создайте $ variable, например, с помощью команды assign ("var1, var2, var3"), а затем вставьте в аргумент строку ниже:п: разметить (переменная $, '')

...