我尝试实现一个带有错误的验证,如下所示
<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>因此,我在SEND what函数之后添加了DROP,就像我想要的那样(没有DROP,我只是收到了错误的消息,但是这个过程并没有停止,这会导致调用一些输入不正确的端点)
然后我需要检查一些东西,我在Eclipse中打开相同的序列,发现DROP被删除了。我试图拖放,但得到一个错误消息,即发送中介器后面不能有另一个中介器。
为什么?
您是否知道如何实现SEND + DROP的更好方法,这样在Eclipse中打开它时就不会有丢失的风险?
非常感谢!
发布于 2016-09-12 09:37:02
不需要在发送后添加Drop Mediator。在发送中介器之后添加任何中介器是无效的,因为消息上下文将在发送后被丢弃。可能不是发送中介器,您可以尝试添加响应中介器。你的用例不是很清楚。
发布于 2016-09-12 21:12:39
在Eclipse Developer Studio中,我们不能在SEND mediator/ RESPOND mediator/ DROP mediator之后指定任何中介。这是因为,理想情况下,中介流不应在这些中介器之后继续。
对于您的情况,您是否可以尝试调用mediator1而不是发送中介,然后删除中介,如下所示
<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>https://stackoverflow.com/questions/39437391
复制相似问题