Отсутствует тип для XML-факта в диспетчере правил BPEL JDeveloper 11g - PullRequest
1 голос
/ 19 января 2011

В настоящее время я работаю над композитом для Oracle SOA Suite 11g R1.Короче говоря, у меня есть следующий процесс BPEL (некоторые действия не упомянуты):

  1. Файловый адаптер ожидает файлов XML (формат определен в input.xsd) для запуска экземпляра.Например, входной файл содержит список упрощенных заказов на покупку (тип XSD Order_Type).
  2. Преобразование (формат определен в output.xsd)
  3. File Adapter для записи вывода.

Оба XSD используют третий common.xsd для общих типов.

Я бы хотел вставить правило сразу после прочтения моего входного файла.Из редактора BPEL JDeveloper (11g R1 PS2) я перетаскиваю действие Business Rule ниже действия Receive и использую мастер для создания нового словаря:

  • Я позволил JDeveloper генерировать факты XML из моего input.xsd.Order_Type передается в класс mypackage.OrderType с селектором //xs:complexType[@name='Order_Type']
  • Я создаю новый набор правил и новое правило, принимающее заказ в качестве входных данных.
  • Я создаю функцию принятия решения дляназывать это правило.Функция имеет один входной параметр типа OrderType

Если я сейчас закрываю диалоговое окно функции, у меня нет ошибки, но я не могу выбрать правило в своем процессе BPEL.

Нас другой стороны, если я выберу Будет вызываться как веб-служба , а затем закроется, у меня появится следующее сообщение об ошибке:

Элемент не найден в файле XML-схемы.Элемент для типа факта mypackage.OrderType не найден в файле XML-схемы: / C: / Jdeveloper /[...]/ xsd / input.xsd [...]

aka BPM-36355 ошибка, хотя этот код ошибки явно не указан.

Конечно, тип присутствует в файле (как я уже сказал, я позволил JDev генерировать классы JAXB для меня), поэтому я в растерянности относительно того, почему происходит эта ошибка или как ее исправить.

Я пробовал различные комбинации для генерации фактов XML, функции принятия решения и перезапустил JDev (donне смеюсь, это на самом деле исправило вчера странную проблему), но безрезультатно.Выражение XPath, выбирающее тип, является правильным.

Любое предложение будет оценено.Конечно, кроме падения Oracle или понижения до 11g.Спасибо

1 Ответ

1 голос
/ 21 января 2011

Мой корневой элемент, Order, был последовательностью Order_Type. Я решил проблему, описанную выше, используя Order вместо Order_Type для моего параметра функции решения. WSDL был сгенерирован успешно, и мое правило называется.

Я не знаю, является ли это ошибкой или функцией, поэтому, если у кого-то есть дополнительная информация, не стесняйтесь ее опубликовать.

...