Java activiti:在调用活动中将变量从被调用进程传递到调用进程
以下是我的通话流程:Java activiti:在调用活动中将变量从被调用进程传递到调用进程,java,activiti,Java,Activiti,以下是我的通话流程: <process id="myProcess" name="My process" isExecutable="true"> <startEvent id="startevent1" name="Start"></startEvent> <callActivity id="callactivity1" name="Call activity" calledElement="mySubProcess">
<process id="myProcess" name="My process" isExecutable="true">
<startEvent id="startevent1" name="Start"></startEvent>
<callActivity id="callactivity1" name="Call activity" calledElement="mySubProcess">
<extensionElements>
<activiti:out source="outp" target="outpp"></activiti:out>
</extensionElements>
</callActivity>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="callactivity1"></sequenceFlow>
<boundaryEvent id="boundaryerror1" name="Error" attachedToRef="callactivity1">
<errorEventDefinition></errorEventDefinition>
</boundaryEvent>
<scriptTask id="scripttask1" name="Script Task" scriptFormat="groovy" activiti:autoStoreVariables="true">
<script>System.out.println(outpp + " ??")</script>
</scriptTask>
<sequenceFlow id="flow2" sourceRef="boundaryerror1" targetRef="scripttask1"></sequenceFlow>
<endEvent id="endevent1" name="End"></endEvent>
<sequenceFlow id="flow3" sourceRef="callactivity1" targetRef="endevent1"></sequenceFlow>
<sequenceFlow id="flow4" sourceRef="scripttask1" targetRef="endevent1"></sequenceFlow>
</process>
</definitions>
我似乎找不出这个问题。当输入参数被传递到子进程时没有任何问题,我在尝试使用输出参数时遇到了这个错误
谢谢我想我找到了答案。如果调用活动中的错误边界事件捕获错误,则在调用过程中不设置输出参数。解决方法是不使用错误边界事件和错误结束事件;但是,只需将变量传递给主进程,并根据变量的值处理流(可以使用独占网关)。您好,您的问题解决了吗?你能和我分享吗?
<process id="mySubProcess" name="My process" isExecutable="true">
<startEvent id="startevent1" name="Start"></startEvent>
<scriptTask id="scripttask1" name="Script Task" scriptFormat="groovy" activiti:autoStoreVariables="true">
<script>String outpa = "asd"
outp = outpa
System.out.println(outp)</script>
</scriptTask>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="scripttask1"></sequenceFlow>
<endEvent id="endevent1" name="End"></endEvent>
<sequenceFlow id="flow2" sourceRef="scripttask1" targetRef="endevent1"></sequenceFlow>
<endEvent id="errorendevent1" name="ErrorEnd">
<errorEventDefinition errorRef="errorEnd"></errorEventDefinition>
</endEvent>
<sequenceFlow id="flow3" sourceRef="scripttask1" targetRef="errorendevent1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${ outp != ""}]]></conditionExpression>
</sequenceFlow>
</process>
</definitions>
problem evaluating script: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: outpp for class: Script2