发送带有VFS错误的中介程序WSO2 ESB

发送带有VFS错误的中介程序WSO2 ESB,wso2,Wso2,我创建了一个代理和序列,从源文件夹读取文件,然后使用VFS的send mediator将其写入目标文件夹。我的代理如下所示: <proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable"> <description/> <target> <inSequence> <property name="filename"

我创建了一个代理和序列,从源文件夹读取文件,然后使用VFS的send mediator将其写入目标文件夹。我的代理如下所示:

  <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还是别的什么?有没有其他解决办法?