发送带有VFS错误的中介程序WSO2 ESB
我创建了一个代理和序列,从源文件夹读取文件,然后使用VFS的send mediator将其写入目标文件夹。我的代理如下所示:发送带有VFS错误的中介程序WSO2 ESB,wso2,Wso2,我创建了一个代理和序列,从源文件夹读取文件,然后使用VFS的send mediator将其写入目标文件夹。我的代理如下所示: <proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable"> <description/> <target> <inSequence> <property name="filename"
<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<property name="filename"
expression="fn:concat(get-property('transport', 'FILE_NAME'), '')"/>
<sequence key="write"/>
<log level="custom">
<property name="finish" value="finish"/>
</log>
</inSequence>
</target>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///after</parameter>
<parameter name="transport.vfs.FileURI">file:///process</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<sequence name="write">
<property name="transport.vfs.ReplyFileName"
expression="get-property('filename')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint name="FileEpr">
<address uri="vfs:file:///Target"/>
</endpoint>
</send>
1.
移动
file:///after
file:///process
*.txt
文本/纯文本
我的“写入”顺序如下所示:
<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<property name="filename"
expression="fn:concat(get-property('transport', 'FILE_NAME'), '')"/>
<sequence key="write"/>
<log level="custom">
<property name="finish" value="finish"/>
</log>
</inSequence>
</target>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///after</parameter>
<parameter name="transport.vfs.FileURI">file:///process</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<sequence name="write">
<property name="transport.vfs.ReplyFileName"
expression="get-property('filename')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint name="FileEpr">
<address uri="vfs:file:///Target"/>
</endpoint>
</send>
当我尝试此代理和序列时,send mediator成功地在“target”文件夹中创建了一个文件,但问题是文件的内容没有写入。所以大小是0字节。我的原始文件是1000字节。如果我在序列中添加此配置
<log level="full"/>
它工作得非常好。我的问题是,我需要使用日志完整配置吗?但是当我在WSO2Web中查看文件处理示例时,它没有使用任何日志完整配置。那么,如何使用send mediator编写文件而不使用任何“log”属性呢?
谢谢,您是否在服务器日志中看到任何错误堆栈?(您不需要在序列中使用日志中介。)@Ratha Hi Ratha,不,我没有在服务器日志中看到任何错误堆栈。您使用的是哪个版本的ESB?您可以查看ESB 4.7.0或更高版本吗..我们在ESB 4.6.0中遇到了类似的问题..@Ratha Hi Ratha,很抱歉回复太晚,我使用的是4.5.0版本。那么这是某种bug还是别的什么?有没有其他解决办法?