如何使用文件连接器在wso2 esb中实现追加操作?

时间:2018-08-13 05:45:24

标签: wso2esb

我需要使用wso2esb中的文件连接器将内容附加到现有文件中。 我的output_file内容应该像(执行附加操作后) [1] SNO | FNAME | LNAME | EMAIL | PHONE | ADDRESS | SELLING_DEALER | PHONEVALID | MAILVALID 51 | chris | clark | cpark3@hotmail.com | 0406755889 | Longfellow | MacGregor |有效|有效|

但是我得到以下输出 [2] ** SNO | FNAME | LNAME | EMAIL | PHONE | ADDRESS | SELLING_DEALER | PHONEVALID | MAILVALID 51187 | chris | clark | cpark3@hotmail.com | 0406755889 | Longfellow | MacGregor |

有效|有效| ** (我在这里有效|在下一行有效,不在PHONEVALID | MAILVALID列下)

我用于文件连接器附加操作(PHONEValidation)的代码段为

**<property name="destination" scope="default" type="STRING" value="E:/Justin/files/Output/Output_File.txt"/>
 <property name="validphone" scope="default" type="STRING" value="valid|"/>
<property name="position" scope="default" type="STRING" value="7"/>
     <fileconnector.append>
                <destination>{$ctx:destination}</destination>
                <inputContent>{$ctx:validphone}</inputContent>
                <position>{$ctx:position}</position> 
    </fileconnector.append>**

我用于文件连接器附加操作(EMAILValidation)的代码段为

**<property name="destination" scope="default" type="STRING" value="E:/Justin/files/Output/Output_File.txt"/>
   <property name="validemail" scope="default" type="STRING" value="valid|"/>
 <property name="position" scope="default" type="STRING" value="8"/>
  <fileconnector.append>
         <destination>{$ctx:destination}</destination>
         <inputContent>{$ctx:validemail}</inputContent>
         <position>{$ctx:position}</position> 
   </fileconnector.append>**

所以在这里我想知道如何在文件连接器中提供有效的位置,以获取上面提到的output_file内容[1]。有人可以帮助我吗?

等待您的回复, 谢谢。

1 个答案:

答案 0 :(得分:0)

尝试下面的代理并检查,因为它对我有用

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="FileConnector_create"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <property name="destination"
                   scope="default"
                   type="STRING"
                   value="D:/Test4.txt"/>
         <property name="validphone"
                   scope="default"
                   type="STRING"
                   value="valid|valid"/>
         <fileconnector.append>
            <destination>{$ctx:destination}</destination>
            <inputContent>{$ctx:validphone}</inputContent>
            <position>{$ctx:position}</position>
         </fileconnector.append>
         <respond/>
      </inSequence>
   </target>
   <description/>
</proxy>