我目前正在研究Oracle SOA Suite 11g R1的组合。简而言之,我有以下BPEL流程(未提及某些活动):
input.xsd
中定义的格式)以启动实例。例如,输入文件包含简单购物订单列表(XSD类型为Order_Type
)。output.xsd
中定义的格式) XSD都使用第三个common.xsd
作为常见类型。
我想在阅读输入文件后立即插入规则。在JDeveloper(11g R1 PS2)BPEL编辑器中,我将业务规则活动拖到我的 Receive 活动下面,并使用向导创建一个新词典:
input.xsd
生成XML Facts。使用选择器Order_Type
mypackage.OrderType
编组到班级//xs:complexType[@name='Order_Type']
OrderType
如果我现在关闭功能对话框,我没有错误,但无法在我的BPEL流程中选择规则。
另一方面,如果我选择将被调用为Web服务然后关闭,我有以下错误消息:
在XML-Schema文件中找不到元素。 在XML Schema文件文件中找不到事实类型mypackage.OrderType的元素:/ C:/ Jdeveloper /[...]/ xsd / input.xsd [...]
又名BPM-36355错误,但未明确提及该错误代码。
当然,该类型存在于文件中(正如我所说,我让JDev为我生成JAXB类),所以我不知道为什么会发生这个错误,或者如何纠正它。< / p>
我尝试了各种组合来生成XML事实,决策函数,并且我重新启动了JDev(不要笑,这实际上修复了昨天的一个奇怪的问题),但无济于事。选择类型的XPath表达式是正确的。
任何建议都将不胜感激。当然,除了放弃Oracle或降级到11g之前。 感谢
答案 0 :(得分:1)
我的根元素Order
是Order_Type
的序列。我使用Order
代替Order_Type
作为决策函数参数解决了上述问题。 WSDL已成功生成,我的规则被调用。
我不知道这是一个错误还是一个功能,所以如果有人有更多信息,请随时发布。