1

フロント エンドからデータまたは文字列を取得しています。1 つのプロパティにデータまたは文字列を設定しています。そのプロパティ データは、データを送信するたびにテキスト ファイルで送信する必要があります。上書きせずにデータを同じファイルに保持する必要があります。 VFS トランスポートを使用したことがありますか?

    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="FileWrite"
           transports="https http"
           startOnLoad="true"
           trace="disable">
       <description/>
       <target>
          <inSequence>
             <property name="error" expression="//error/text()" scope="default"/>
             <log level="full"/>
          </inSequence>
          <outSequence>
             <log>
 <property name="error" expression="get-property('error')" scope="default"/>
                <property name="OUT_ONLY" value="true"/>
             </log>
             <payloadFactory>
                <format>
                   <error>$1</error>
                </format>
                <args>
                   <arg expression="get-property('error')"/>
                </args>
             </payloadFactory>
             <log level="full"/>
             <send>
                <endpoint>
                   <address uri="vfs:file:///home/youtility2/Desktop/Errorlog.text"/>
                </endpoint>
             </send>
             <log level="full"/>
          </outSequence>
       </target>
       <parameter name="transport.vfs.Append">true</parameter>
    </proxy> 

デスクトップにテキストファイルを作成しましたが、データがテキストファイルに書き込まれておらず、例外もありません。これについても何かを参照します

4

4 に答える 4

1

以下のコードは、ペイロードをファイルに挿入する機能を示しています。トランスポートとして vfs を使用する必要はありません。

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="WriteIntoFile"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <property name="transport.vfs.ReplyFileName"
                   expression="fileName.xml')"
                   scope="transport"/>
         <send>
            <endpoint>
               <address uri="vfs:ftp://admin:admin@localhost:21/srcFolder?vfs.passive=true"/>
            </endpoint>
         </send>
      </inSequence>
   </target>
</proxy>
于 2013-10-28T10:34:44.513 に答える
0

また、wso2esb でclass mediatorを試すこともできます。Java クラスで FileWriter を使用すると、次のようにテキスト ファイルに書き込むことができます。

FileWriter(File file, boolean append) 

また

FileWriter(String fileName, boolean append)
于 2014-02-01T05:17:22.693 に答える