記一次“發現了以元素extensionElements開頭的無效內容”的坑


  最近在邊學邊做一個flowable的項目,在進行前端bpmn畫流程圖后,我自己手動在serviceTask節點中添加extensionElements擴展節點,以便於向后台的方法傳遞參數,添加完后如圖:

 

 

   將這個改動報錯后,提交后台並進行部署,結果出現異常:

org.flowable.bpmn.exceptions.XMLException: 
  javax.xml.stream.XMLStreamException: org.xml.sax.SAXParseException; lineNumber: 98; columnNumber: 10; cvc-complex-type.2.4.a:
    發現了以元素 '{"http://www.omg.org/spec/BPMN/20100524/MODEL":extensionElements}' 開頭的無效內容。
    應以 '{"http://www.omg.org/spec/BPMN/20100524/MODEL":outgoing, "http://www.omg.org/spec/BPMN/20100524/MODEL":ioSpecification,
    "http://www.omg.org/spec/BPMN/20100524/MODEL":property, "http://www.omg.org/spec/BPMN/20100524/MODEL":dataInputAssociation,
    "http://www.omg.org/spec/BPMN/20100524/MODEL":dataOutputAssociation, "http://www.omg.org/spec/BPMN/20100524/MODEL":resourceRole,
    "http://www.omg.org/spec/BPMN/20100524/MODEL":loopCharacteristics}' 之一開頭。

  看着這異常一臉懵逼,一切都是根據flowable的用戶手冊添加的居然會出現這種錯誤,后來忙活了一天,找了各種資料和問人,終於解決了,現在記錄下我查到的可能情況:

  1.bpmn文件中有未引入的命名空間,需引入對應的命名空間;

  2.flowable的版本太低,當前節點是高版本節點,無法被低版本的flowable解析,需升級當前系統的flowable版本

  3.當前節點內的屬性位置放置錯誤,將其他屬性放在incoming、outgoing之間或后面,應當將其他屬性放在incoming、outgoing之前。

  如同我上面的情況就是第三個問題,將extensionElements屬性,放在了incoming、outgoing后面,所以部署時才會報錯,將節點內屬性位置調整后,如下圖

  

 

   再重新保存部署,發布成功,沒有問題。真是被坑到了,沒有學習過bpmn,都不知道incoming、outgoing必須放在最后才行啊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM