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节点中)

您可能想要开发和使用自己的消息构建器,以便将特定文件格式转换为特定的 xml 树,以便在中介中使用 XPath。

另一种方法是使用smooks。

于 2013-11-28T12:48:08.740 回答