Ich muss jede Datei im Verzeichnis "/ home/user/from /" mit com.wso2esb.command.MyCommand überprüfen und wenn das Ergebnis == true, ersetzen Sie die Datei durch "home/user/to /" . Ich habe folgende Proxy:WSO2 ESB. Datei mit VFS übertragen
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="fromto"
transports="vfs"
statistics="enable"
trace="enable"
startOnLoad="true">
<target>
<inSequence>
<pojoCommand name="com.wso2esb.command.MyCommand">
<axis2ns47:property xmlns:axis2ns47="http://ws.apache.org/ns/synapse"
name="fileURL"
expression="$trp:FILE_PATH"
action="ReadMessage"/>
<axis2ns48:property xmlns:axis2ns48="http://ws.apache.org/ns/synapse"
name="result"
context-name="com.fx.FileIsOBI"
action="UpdateContext"/>
</pojoCommand>
<switch source="$ctx:com.fx.FileIsOBI">
<case regex="^true$">
<log level="custom">
<property name="OUTPUT"
expression="fn:concat('===555===', $ctx:com.fx.FileIsOBI)"/>
</log>
<property name="OUT_ONLY" value="true" scope="default"/>
<property xmlns:ns="http://org.apache.synapse/xsd"
xmlns:ns3="http://org.apache.synapse/xsd"
name="transport.vfs.ReplyFileName"
expression="$trp:FILE_NAME"
scope="transport"/>
<send>
<endpoint>
<address uri="vfs:file:////home/user/to"/>
</endpoint>
</send>
</case>
</switch>
</inSequence>
</target>
<parameter name="transport.PollInterval">10</parameter>
<parameter name="transport.vfs.ActionAfterProcess">DELETE</parameter>
<parameter name="transport.vfs.FileURI">vfs:file:////home/user/from/</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.txt</parameter>
<parameter name="transport.vfs.ContentType">application/octet-stream</parameter>
<parameter name="transport.vfs.ActionAfterFailure">DELETE</parameter>
<description/>
</proxy>
ich die Zeichenfolge sehen "=== 555 === true" in der Protokolldatei, bedeutet dies, dass com.fx.FileIsOBI == true. Aber meine Datei wurde nicht nach "/ home/user/to /" verschoben. Ich denke, das Problem ist in
<property name="OUT_ONLY" value="true" scope="default"/>
<property xmlns:ns="http://org.apache.synapse/xsd"
xmlns:ns3="http://org.apache.synapse/xsd"
name="transport.vfs.ReplyFileName"
expression="$trp:FILE_NAME"
scope="transport"/>
<send>
<endpoint>
<address uri="vfs:file:////home/user/to"/>
</endpoint>
</send>
Was ist los?