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を実行しようとしましたが、それでも匿名エンドポイントへの送信が見つかりません。エンドポイントが見つからないため、outsequence に移動し、そこでコードを実行します。
get パラメータのエラー処理はどのように行われますか?
ご意見をお聞かせください。ありがとうアビジット