2011-01-19 20 views
1

我目前工作的一個複合的Oracle SOA套件11g R1 XML事實。總之,我有以下的BPEL流程(未提到的一些活動):缺少類型在JDeveloper11克BPEL規則管理

  1. 文件適配器等待XML文件(input.xsd定義格式)啓動一個實例。對於例如,輸入文件包含簡單的購物定單(XSD類型爲Order_Type)的列表。
  2. 轉換(在output.xsd中定義的格式)
  3. 文件適配器寫入輸出。

兩個XSD都使用第三個common.xsd作爲常見類型。

我想讀我的輸入文件後立即插入一個規則。從JDeveloper(11克R1 PS2)BPEL編輯,我拖低於業務規則活動我接收活動,並使用嚮導創建一個新的解釋:

  • 我讓JDeveloper中從我input.xsd生成XML事實。 Order_Type獲得編組mypackage.OrderType與選擇器//xs:complexType[@name='Order_Type']
  • 我創建一個新的規則集和一個新的規則,以訂單作爲輸入。
  • 我創建了一個決策函數來調用該規則。該函數有型OrderType

的輸入參數。如果我現在關閉功能對話框,我沒有錯誤,但不能選擇我的BPEL流程的規則。

在另一方面,如果我選擇將被調用作爲一個WebService然後關閉,我有以下錯誤信息:

元素在XML的架構文件未找到。 的事實類型mypackage.OrderType元素不能在XML架構文件文件中找到:/ C:/ Jdeveloper中/[...]/ XSD/input.xsd [...]

又名BPM-36355錯誤儘管沒有明確提到錯誤代碼。

當然,該類型存在於文件中(正如我所說的,我讓JDev爲我生成JAXB類),所以我不知道爲什麼會發生此錯誤或者如何糾正它。

我嘗試了各種組合的XML事實的產生,決策功能,而且我重新啓動的jdev(不要笑,實際上固定的一個奇怪的問題昨天),但無濟於事。選擇類型的XPath表達式是正確的。

任何建議,將不勝感激。當然,除了降級甲骨文或降級到11g之前。 謝謝

回答

1

我的根元素Order是一個Order_Type的序列。我用Order代替Order_Type爲我的決定函數參數解決上述問題。 WSDL已成功生成,並調用了我的規則。

我不知道這是一個錯誤還是一個功能,所以如果任何人有更多的信息,隨時發佈它。