jBPM简单工作项 - ioSpecification不完整错误

时间:2013-05-17 14:41:15

标签: jbpm

我正在尝试从这里开始简单的工作项目: http://docs.jboss.org/jbpm/v5.4/userguide/ch.domain-specific-processes.html#d0e7389

我的代码:

.wid文件

import org.drools.process.core.datatype.impl.type.StringDataType;
[
  // the Notification work item
  [
    "name" : "Notification",
    "parameters" : [
      "Message" : new StringDataType(),
      "From" : new StringDataType(),
      "To" : new StringDataType(),
      "Priority" : new StringDataType(),
    ],
    "displayName" : "Notification",
    "icon" : "icons/notification.gif"
  ]
]

然后我用简单的

实现并注册了工作项处理程序
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
    String from = (String) workItem.getParameter("From");
    System.out.println("from " + from);
}

我的自定义节点自动出现在eclipse建模器中,所以我做了简单的过程:
开始>节点>结束和设置'来自'参数,但执行时我得到:

ERROR ExtensibleXmlParser:666 - (null: 24, 31): cvc-complex-type.2.4.b: The content of element 'bpmn2:ioSpecification' is not complete. One of '{"http://www.omg.org/spec/BPMN/20100524/MODEL":inputSet, "http://www.omg.org/spec/BPMN/20100524/MODEL":outputSet}' is expected.

也来自null'打印

我的bpmn文件只包含一个ioSpecification,它有inputSet节点

  <bpmn2:ioSpecification id="_InputOutputSpecification_12">
    <bpmn2:dataInput id="_DataInput_15" name="Message"/>
    <bpmn2:dataInput id="_DataInput_16" itemSubjectRef="ItemDefinition_4" name="From"/>
    <bpmn2:dataInput id="_DataInput_17" name="To"/>
    <bpmn2:dataInput id="_DataInput_18" name="Priority"/>
    <bpmn2:inputSet id="_InputSet_12" name="Input Set 12">
      <bpmn2:dataInputRefs>_DataInput_15</bpmn2:dataInputRefs>
      <bpmn2:dataInputRefs>_DataInput_16</bpmn2:dataInputRefs>
      <bpmn2:dataInputRefs>_DataInput_17</bpmn2:dataInputRefs>
      <bpmn2:dataInputRefs>_DataInput_18</bpmn2:dataInputRefs>
    </bpmn2:inputSet>
  </bpmn2:ioSpecification>

我正在使用jbpm 5.4.final
eclipse BPMN2编辑器0.2.5.201305082126
eclipse JBoss jBPM5运行时扩展功能0.2.5.201305082126
eclipse JBoss jBPM Core 5.5.0.Final
eclipse JBoss jBPM任务5.5.0.Final

1 个答案:

答案 0 :(得分:1)

ioSpecification总是需要一个outputSet(在XSD中定义),但这可能是空的。