2013-04-05 72 views
1

我在我的本地系统上有一个文本文件我希望以特定文件作为同步追加数据。我们可以在wso2esb的文本文件中存储一个字符串吗?

我已经尝试了很多方法,但它不工作。

ESB在Oracle SOA中具有这种未来。我们可以添加文件适配器。在ESB中,它既没有给出错误也没有预期的结果。

我的配置是这样的:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="FileWrite" transports="http,vfs" statistics="disable" trace="disable" startOnLoad="true"> 
    <target> 
    <inSequence> 
     <log> 
      <property name="OUT_ONLY" value="true"/> 
     </log> 
    </inSequence> 
    <outSequence> 
     <log> 
      <property name="OUT_ONLY" value="true"/> 
     </log> 
     <payloadFactory> 
      <format> 
       <error>error404</error> 
      </format> 
     </payloadFactory> 
     <send> 
      <endpoint> 
       <address uri="vfs:file:///home/youtility2/Desktop/Errorlog"/> 
      </endpoint> 
     </send> 
    </outSequence> 
    </target> 
    <parameter name="transport.vfs.ReplyFileURI">file:///home/user/test/out? transport.vfs.Append=true</parameter> 
    <parameter name="transport.PollInterval">10</parameter> 
    <parameter name="transport.vfs.FileNamePattern">Errorlog.text</parameter> 
    <parameter name="transport.vfs.ContentType">text/xml</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
    <parameter name="transport.vfs.ReplyFileName">Errorlog.xml</parameter> 
    <description></description> 
</proxy> 

其实我一直日志调解人outSequenceinSequence调解器不会将数据发送到outSequence过程而不会转发到outSequence。这就是为什么我认为上述配置不起作用。

对此有何参考?

我也尝试过inSequence以上配置。 的VFS运输不支持同步回应:发送消息出来 org.apache.axis2.AxisFault期间Axis2Sender意外错误 -

错误:它给象这样的错误。请使用 合适(只出)消息交换模式

请参阅此link

回答

0

问题是,您正在设置一个属性,它是一个预定义的属性(即:OUT_ONLY),它用于指示请求只是“只出”请求。所以,系统,不会期待回应。这就是为什么,你没有得到任何东西。 请勿在日志中介中使用预定义的属性,这会导致问题。

在日志文件中保留一些文本来指示消息的流向。 如:

<inSequence> 
     <log> 
      <property name="INSEQUENCEEEEEEE" value="********"/> 
     </log> 
    </inSequence> 

像明智保持不同的描述日志中outsequence,看看是否你所得到的消息,在那里,没有任何问题。

相关问题