filter wso2 esb mediator

filter - WSo2 Esb filtra mensajes a un archivo de salida



mediator (0)

Estoy trabajando con un mediador de filtro que intenta enviar mensajes a un archivo xml de salida. Tengo mi secuencia usando un mediador de filtro basado en un valor de atributo, si es verdadero, quiero escribir el mensaje en un nuevo archivo xml en un directorio determinado. Si es falso, dejaré caer el registro. Aquí está mi secuencia:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="RenaissanceIqtFilterSequence"> <log level="custom"> <property name="sequence" value="FilterSequence"></property> </log> <filter xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:ns="http://org.apache.synapse/xsd" xmlns:z="RowsetSchema" xpath="//z:row/@name=''RP''"> <then> <log level="custom"> <property name="sequence" value="Condition Write"></property> </log> <call-template target="FileWriteTemplate"> <with-param name="targetFileName" value="NEW_MESSAGE_FILE"></with-param> <with-param name="addressUri" value="vfs:file:///var/process/rrout"></with-param> </call-template> </then> <else> <log level="custom"> <property name="sequence" value="Condition Drop"></property> </log> <drop></drop> </else> </filter> </sequence>

* Estoy usando una plantilla como puede ver para escribir en mis nuevos parámetros de configuración de archivo de salida para el nombre de archivo y uri.

El resultado es que todo el archivo se está escribiendo en el directorio, no solo los mensajes que quiero. He estado ejecutando búsquedas en Google tratando de ver dónde me estoy equivocando. Supongo que en este momento puedo estar usando el Mediador de filtro incorrectamente? Tal vez hay una mejor forma o mediador para usar para llevar a cabo esta tarea? Agradecería cualquier pensamiento o recomendación que la gente pueda tener. ¡Gracias por tu tiempo!