Axis 2:InvocationResponse.SUSPEND做了什么?

时间:2013-12-22 02:50:09

标签: java soap axis2

如果您指定一个自定义处理程序来返回它,它会做什么?它会暂停链/流吗?如果是这样,通过多长时间?它如何影响整体流量? CONTINUE和ABORT是相当不言自明的,但这种反应我无法理解。

1 个答案:

答案 0 :(得分:0)

请在轴引擎内找到处理程序返回的每个状态的详细信息。

(1)InvocationResponse.CONTINUE

这使信号继续执行消息执行流程。

(2)InvocationResponse.SUSPEND

这表示消息无法继续,因为某些条件尚未满足,因此您需要暂停执行并等待。

例如,可以有一个暂停执行并存储消息上下文的处理程序,当条件满足时,转发消息。 最好的例子是Reliable Messaging(RM),它适用于消息序列。如果服务调用包含多个消息,并且 如果第二个到达第一个之前,RM处理程序将暂停执行与第二个消息相对应的消息调用,直到它为止 得到第一条消息。当它收到第一条消息时,RM将调用该消息,之后,它将调用(或恢复)第二条消息等。

因此,暂停的时间段将持续到前/后条件,如RM场景中所述。

(3)InvocationResponse.ABORT

出现了问题,因此您需要删除该消息并让发起人了解它