[英]Filter mediator not working Properly in WSO2 EI 6.6
我正在嘗試通過使用條件為(Vin 編號已成功更新)的過濾器調解器來處理輸出序列中的響應,如果滿足則需要排除塊,而不是執行 else 塊,而不是執行 else 塊,請告訴我做了什么我在下面提到的代碼中弄錯了。 謝謝!
<outSequence>
<log level="custom">
<property expression="json-eval($.)" name="===Response from COMS==="/>
</log>
<log level="custom">
<property expression="json-eval($)" name="ComsResponse"/>
</log>
<property expression="json-eval($.ComsResponse)" name="Response" scope="default" type="STRING"/>
<filter regex="Vin number Updated Successfully" source="$ctx:Response">
<then>
<payloadFactory description="Form Response Payload" media-type="json">
<format>{"StatusCode":"$1","Message":"$2"}</format>
<args>
<arg value="200"/>
<arg value="Updated Sucessfully"/>
</args>
</payloadFactory>
</then>
<else>
<payloadFactory description="Form Response Payload" media-type="json">
<format>{"StatusCode":"$1","Message":"$2"}</format>
<args>
<arg value="400"/>
<arg value="Unable to Created or Vin Number already exist"/>
</args>
</payloadFactory>
</else>
</filter>
<respond/>
<property description="HTTPStatusCode" name="HTTP_SC" scope="axis2" type="STRING" value="200"/>
<property description="HttpMessageType" name="messageType" scope="axis2" type="STRING" value="application/json"/>
</outSequence>
ComsResponse 屬性可能為空。
<property expression="json-eval($.ComsResponse)" name="Response" scope="default" type="STRING"/>
json-eval 語句正在消息中尋找 ComsResponse 元素/鍵。 這不作為 $ 的結果而存在。 只是一個字符串。
因此,目前過濾器正在針對空字符串測試正則表達式。 嘗試如下設置 Response 屬性:
<property expression="json-eval($.)" name="Response" scope="default" type="STRING"/>
有關 json-eval 函數的更多詳細信息,請查看WSO2 文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.