【问题标题】:WSO2 Smook response not write to fileWSO2 Smook 响应未写入文件
【发布时间】:2014-03-05 09:04:46
【问题描述】:

我正在尝试使用 Smooks Mediator 将代理的响应写入文件,但没有任何反应。

中介器获取带有 vfs 选项的 csv 文件,转换为 xml 输出并将 csv 正确发送到 out 目录。 在控制台中,我看到 ws02-esb-service.log 并且 xml 是正确的。 但我不会写入文件。 在 /u01/app/wso2esb-4.7.0/tmp/send/convert 然后结果不出现。 并且没有任何错误。 这是代码。

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="SmookTest"
       transports="vfs"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <smooks config-key="smooks-registro">
            <input type="text"/>
            <output type="xml"/>
         </smooks>
         <log level="full"/>
         <property name="transport.vfs.ReplyFileName"
                   value="test1.xml"
                   scope="transport"/>
         <property name="OUT_ONLY" value="true"/>
         <send>
            <endpoint name="grabar">
               <address uri="vfs:file:///u01/app/wso2esb-4.7.0/tmp/send/convert"/>
            </endpoint>
         </send>
      </inSequence>
   </target>
   <parameter name="transport.vfs.ReplyFileURI">salida.xml</parameter>
   <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
   <parameter name="transport.PollInterval">5</parameter>
   <parameter name="transport.vfs.FileURI">/u01/app/wso2esb-4.7.0/tmp/send</parameter>
   <parameter name="transport.vfs.MoveAfterProcess">/u01/app/wso2esb-4.7.0/tmp/send/out</parameter>
   <parameter name="transport.vfs.MoveAfterFailure">/u01/app/wso2esb-4.7.0/tmp/send/fail</parameter>
   <parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
   <parameter name="transport.vfs.ContentType">text/plain</parameter>
   <description/>
</proxy>

【问题讨论】:

  • 我在axis2.xml配置文件中启用vfs发送propety并且工作。
  • 现在,问题是其他的。该文件已创建但为空。有人可以帮帮我吗?

标签: wso2esb esb smooks


【解决方案1】:

由于 VFS 以纯/文本格式读取,因此在您明确提及之前它不会使用格式化程序。因此,您可以在调用端点之前提及内容类型

喜欢

 <property name="OUT_ONLY" value="true"/>
 <property name="messageType"
           value="application/soap"
           scope="axis2"
           type="STRING"/>

 <send>
    <endpoint name="grabar">
       <address uri="vfs:file:///u01/app/wso2esb-4.7.0/tmp/send/convert"/>
    </endpoint>
 </send>

【讨论】:

    【解决方案2】:

    我找到了解决方案。 将格式添加到端点并且文件内容正确写入。

    <address uri="vfs:file:///u01/app/wso2esb-4.7.0/tmp/send/convert"
                            format="soap11"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 2016-04-23
      相关资源
      最近更新 更多