JDeveloper 11g BPEL规则管理器中缺少XML Fact的类型

时间:2011-01-19 16:30:09

标签: oracle soa oracle11g jdeveloper bpel

我目前正在研究Oracle SOA Suite 11g R1的组合。简而言之,我有以下BPEL流程(未提及某些活动):

  1. 文件适配器等待XML文件(在input.xsd中定义的格式)以启动实例。例如,输入文件包含简单购物订单列表(XSD类型为Order_Type)。
  2. 转换(output.xsd中定义的格式)
  3. 文件适配器写入输出。
  4. XSD都使用第三个common.xsd作为常见类型。

    我想在阅读输入文件后立即插入规则。在JDeveloper(11g R1 PS2)BPEL编辑器中,我将业务规则活动拖到我的 Receive 活动下面,并使用向导创建一个新词典:

    • 我让JDeveloper从我的input.xsd生成XML Facts。使用选择器Order_Type
    • mypackage.OrderType编组到班级//xs:complexType[@name='Order_Type']
    • 我创建了一个新的Ruleset,以及一个以订单作为输入的新规则。
    • 我创建一个决策函数来调用该规则。该函数有一个类型为OrderType
    • 的输入参数

    如果我现在关闭功能对话框,我没有错误,但无法在我的BPEL流程中选择规则。

    另一方面,如果我选择将被调用为Web服务然后关闭,我有以下错误消息:

      

    在XML-Schema文件中找不到元素。   在XML Schema文件文件中找不到事实类型mypackage.OrderType的元素:/ C:/ Jdeveloper /[...]/ xsd / input.xsd [...]

    又名BPM-36355错误,但未明确提及该错误代码。

    当然,该类型存在于文件中(正如我所说,我让JDev为我生成JAXB类),所以我不知道为什么会发生这个错误,或者如何纠正它。< / p>

    我尝试了各种组合来生成XML事实,决策函数,并且我重新启动了JDev(不要笑,这实际上修复了昨天的一个奇怪的问题),但无济于事。选择类型的XPath表达式是正确的。

    任何建议都将不胜感激。当然,除了放弃Oracle或降级到11g之前。 感谢

1 个答案:

答案 0 :(得分:1)

我的根元素OrderOrder_Type的序列。我使用Order代替Order_Type作为决策函数参数解决了上述问题。 WSDL已成功生成,我的规则被调用。

我不知道这是一个错误还是一个功能,所以如果有人有更多信息,请随时发布。