我的代理服务中有以下逻辑:
<proxy>
<inSequence>
<switch source="get-property('Action')">
<case regex="getTaskTicket">
<sequence key="CQProxy_GetTaskTicket"/>
</case>
<case regex="updateTaskTicket">
<sequence key="CQProxy_UpdateTaskTicket"/>
</case>
...
<default/>
</switch>
</inSequence>
<outSequence>
<send/>
</outSequence>
</proxy>
现在我的 CQProxy_UpdateTaskTicket 调用另一个序列:
<sequence name="CQProxy_UpdateTaskTicket">
... some logic goes here ...
<sequence key="CQProxy_GetTicketDetails"/>
... here I need to wait for response from CQProxy_GetTicketDetails
before further processing ...
</sequence>
CQProxy_GetTicketDetails 被各种其他序列使用,并反过来定义 OUT 序列来处理其响应:
<sequence name="CQProxy_GetTicketDetails">
... some logic ...
<send receive="CQProxy_GetTicketDetails2">
<endpoint key="CQ"/>
</send>
</sequence>
问题是在 CQProxy_UpdateTaskTicket 序列调用 CQProxy_GetTicketDetails 子序列后,它并没有等待来自该子序列的响应,而是继续消息处理。如何让 CQProxy_UpdateTaskTicket 在继续之前等待响应?