Проблема: население массива BPEL - PullRequest
0 голосов
/ 09 мая 2011

Я создал BPEL-процесс, который выполняет некоторую бизнес-логику (позволяет получать данные из списка Департамента).и в следующем упражнении я должен использовать тот же извлеченный список.

, затем я создал один xsd для списка отделов и хочу добавить в него элемент, таким образом я помещу извлеченный список в массив, а затем могуиспользовать тот же массив в следующем упражнении (Java embed).

В моей первой java Embed Activity я использовал следующий код для заполнения массива.

для (int i = 0; i <10; i ++) <br>{
setVariableData ("отдел", "/ ns1: отдел / ns1: Dept / ns1 ['i']: DeptName", "значение");}

во время выполнения я получаю следующее исключение.

<May 9, 2011 6:47:11 PM SGT> <Error> <oracle.soa.bpel.engine> <BEA-000000> <<BPELXExecLet::setVariableData>
java.lang.ClassCastException: java.lang.Integer cannot be cast to org.w3c.dom.Element
        at com.collaxa.cube.engine.ext.bpel.v1.nodes.BPELXExecLet.setVariableData(BPELXExecLet.java:750)

Подскажите, пожалуйста, почему я получаю ошибку.и есть ли какой-нибудь альтернативный способ достижения цели.

Я использую Jdeveloper11.1.1.3.0 и SOA 11.1.1.3.0.

Следующее - мой xsd для Department.1021 *

1 Ответ

0 голосов
/ 09 мая 2011

Я не верю, что i в setVariableData("department","/ns1:department/ns1:Dept/ns1['i']:DeptName","value"); расширяется, как вы думаете. Вам придется сначала создать второй параметр в виде строки, используя значение i, а затем передать его в setVariableData.

...