我尝试使用FAULT实现这样的验证
<on-fail>
<makefault version="soap11">
<code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
<reason value="Invalid Request!!!"/>
<role/>
</makefault>
<log level="full"/>
<property name="RESPONSE" value="true"/>
<header name="To" action="remove"/>
<send/>
<drop/>
</on-fail>
因此我在发送了什么函数之后添加了DROP就像我想要的那样(没有DROP我刚刚收到了FAULT消息,但是进程没有停止导致调用一些输入错误的端点的原因)
然后我需要检查一些东西,然后在Eclipse中打开相同的序列,发现DROP已被删除。 我试图拖放DROP但收到一条错误消息,即SEND调解员不能被另一个调解员跟踪。
为什么?
你碰巧知道如何实现SEND + DROP的更好方法,所以当我在Eclipse中打开它时,我没有失去这个风险吗?
很多!答案 0 :(得分:0)
发送后您无需添加Drop Mediator。在发送调解器之后添加任何调解器是无效的,因为在发送之后将删除消息上下文。您可以尝试添加响应中介,而不是SEND中介。你的用例不太清楚。
答案 1 :(得分:0)
在Eclipse Developer Studio中,我们无法在SEND mediator / RESPOND介体/ DROP介体之后指定任何介体。这是因为理想情况下,在这些调解员之后不应继续调解流程。
对于您的情况,您可以尝试CALL中介[1]而不是SEND中介,然后是DROP中介,如下所示
<on-fail>
<makefault version="soap11">
<code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
<reason value="Invalid Request!!!"/>
<role/>
</makefault>
<log level="full"/>
<property name="RESPONSE" value="true"/>
<header name="To" action="remove"/>
<call/>
<drop/>
</on-fail>