我正在尝试验证 WSO2 ESB 4.0.3 中代理服务中的 GET 请求参数。我有以下代码逻辑
<filter source="get-property('To')" regex="^(?=.*inSerialNr=).*$">
<then>
<send>
<endpoint key="conf:/tqs/rma/ds_endpoint.xml" />
</send>
</then>
<else>
<log level="custom" separator=",">
<property name="Missing-Input" value="Input validation failed...Missing Input Parameter - inSerialNr" />
</log>
<script language="js"><![CDATA[mc.setPayloadXML(<ERROR><DESCRIPTION>Input validation failed...Missing Input Parameter - inSerialNr</DESCRIPTION></ERROR>);]]></script>
<property name="RESPONSE" value="true" scope="default" type="STRING" />
<send>
<endpoint key="conf:/tqs/tqsAnonymous.xml" />
</send>
<drop />
</else>
</filter>
我希望在缺少参数“inSerialNr”时删除消息处理。它如何找不到作为客户端的“http://www.w3.org/2005/08/addressing/anonymous”端点。
即使我尝试执行 xslt 以将结果作为文本/纯文本并将其发送回,但它仍然找不到发送到匿名端点。由于它找不到终点,它会去外序并在那里执行代码。
get参数的错误处理是如何完成的?
请指教。谢谢阿比吉特