Как использовать медиатор фильтра для проверки содержимого json

Я использую приведенный ниже код, чтобы проверить, имеет ли контент ценность.

Но xpath приводит к ошибке.

Что я могу сделать, чтобы изменить xpath?

Сообщение об ошибке xpath:

: org.apache.synapse.core.axis2.Axis2MessageContext не может быть преобразован в org.apache.axiom.om.OMNode

<filter xpath="json-eval($.data.content)">
    <then>
         <property expression="json-eval($.data.content)" name="filters" scope="default" type="STRING"/>
    </then>
   <else/>
</filter>

person Amanda    schedule 29.11.2017    source источник
comment
Извлеките выражение json как свойство и используйте его внутри посредника фильтра. Это будет работать.   -  person Prabakaran Thodithot Sembiyan    schedule 30.11.2017


Ответы (1)


В зависимости от вашего сценария использования вы можете использовать медиаторы Switch или filter следующим образом.

<switch source="json-eval($.data.content)">
        <case regex="urData">

        </case>
        <default>

        </default>
</switch>

В случае фильтрующих посредников данные могут быть помещены в свойство, а затем обработаны.

<property action="set" name="dataProp" scope="default" type="STRING" expression="json-eval($.data.content)"/>

<filter regex="true" source="boolean(get-property('dataProp'))">
person Muralidharan.rade    schedule 02.12.2017