WSO2 Smook响应不写入文件

时间:2014-03-05 09:04:46

标签: wso2esb esb smooks

我正在尝试使用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>

2 个答案:

答案 0 :(得分:1)

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

喜欢

 <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>

答案 1 :(得分:0)

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

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