0

こんにちは、wso2 ESB 4.7.0 に取り組んでいます。

.txt、.xls、.xml などの特定のファイルを処理したい場合、クライアントはシステム フォルダー内の上記の形式のファイルでデータを提供します。そこから選択してそのファイルを処理する必要があります。そのデータをデータに保存したいベース。サンプルの .txt ファイルは

ename intime outtime eid 
-------------------------
john  9.10   6.10    y001
scott 10.00  7.00    yoo2
tiger 9.00   6.00    y003

上記のデータは、empdetails テーブルに挿入する必要があります。 WSO2 ESB で VFS トランスポートを試してみました。データをテキスト ファイルに書き込むことはできますが、データからテキスト ファイルに読み取る方法はあります。

これを解決するのを手伝ってください。

4

1 に答える 1

2

ファイルからデータを読み取りたいとのことですが、

これを行うには、VFS プロキシを宣言するだけです:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="IncomingFile" transports="vfs" statistics="disable" trace="disable" startOnLoad="true">
   <target inSequence="YourSequence" />
   <parameter name="transport.PollInterval">15</parameter>
   <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
   <parameter name="transport.vfs.FileURI">file:///Your_directory</parameter>
   <parameter name="transport.vfs.MoveAfterProcess">file:///Your_directory_OK</parameter>
   <parameter name="transport.vfs.MoveAfterFailure">file:///Your_directory_KOKO</parameter>
   <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
   <parameter name="transport.vfs.ContentType">text/plain; charset=ISO-8859-1</parameter>
   <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
</proxy>

repository/conf/axis2/axis2.xml で VFS トランスポート レシーバーを有効にすることを忘れないでください。

<transportReceiver name="vfs" class="org.apache.synapse.transport.vfs.VFSTransportListener"/>

axis2 conf の text/plain に関連付けられたメッセージ ビルダーがメッセージの作成に使用されます (デフォルトでは org.apache.axis2.format.PlainTextBuilder : テキスト コンテンツは xml ノードにカプセル化されます)。

メディエーション内で XPath を使用するために、特定のファイル形式を特定の xml ツリーに変換するために、独自のメッセージ ビルダーを開発して使用することができます。

別の方法は、smooks を使用することです。

于 2013-11-28T12:48:08.740 に答える