使用vfs写入文件时从输出中删除<text> -tag

时间:2018-07-30 08:52:19

标签: wso2 wso2esb

我想按顺序将有效载荷作为csv(按计划分类)写入文件。 我的问题是,我总是得到围绕数据的<< strong>文本 xmlns =“ http://ws.apache.org/commons/ns/payload”>标签。

有人可以帮助我删除此标签吗?

结果:

    <text xmlns="http://ws.apache.org/commons/ns/payload">HALLO 13,hallo 11,hallo 12,hallo 11hallo 12
HALLO 23,hallo 21,hallo 22,hallo 21hallo 22
HALLO 33,hallo 31,hallo 32,hallo 31hallo 32</text>

序列:

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="fileWriteSequence" trace="disable" xmlns="http://ws.apache.org/ns/synapse">

    <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
    <property expression="fn:concat( get-property('NewFileName'), '.', get-property('NewFileFormat'))" name="transport.vfs.ReplyFileName" scope="transport" type="STRING" xmlns:ns2="http://org.apache.synapse/xsd"/>
    <property name="messageType" scope="axis2-client" type="STRING" value="text/plain"/> 
    <send>
        <endpoint name="FileEpr">
            <address format="pox" uri="vfs:file:///C:/WSO2/ESB/VFS/OUTPUT/"/>
        </endpoint>
    </send>
</sequence>

1 个答案:

答案 0 :(得分:1)

这对于WSO2产品的旧版本运行良好,并且WSO2 EI 6.3.0和6.2.0版本也遇到了相同的问题。

由于format="pox"是在端点级别定义的,因此WSO2似乎对消息格式化程序的方向逻辑进行了更改。它忽略了较新版本中的messageType属性。因此,您必须从地址端点中删除端点格式配置。

因此,您需要按以下方式更改逻辑:

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="fileWriteSequence" trace="disable" xmlns="http://ws.apache.org/ns/synapse">

    <property action="set" name="OUT_ONLY" value="true"/>
    <property expression="fn:concat( get-property('NewFileName'), '.', get-property('NewFileFormat'))" name="transport.vfs.ReplyFileName" scope="transport" type="STRING" xmlns:ns2="http://org.apache.synapse/xsd"/>
    <property name="messageType" value="text/plain" scope="axis2"/>
    <property name="ContentType" value="text/plain" scope="axis2"/>
    <send>
        <endpoint name="FileEpr">
            <address uri="vfs:file:///C:/WSO2/ESB/VFS/OUTPUT/"/>
        </endpoint>
    </send>
</sequence>