我想通过WSO2序列中的Payload Mediator生成XML而没有名称空间。例如:
<payloadFactory media-type="xml">
<format>
<XmlRoot>
<a>$1</a>
<b>$2</b>
<c>$3</c>
<d>$4</d>
</XmlRoot>
</format>
<args>
<arg evaluator="json" expression="$.a"/>
<arg evaluator="json" expression="$.b"/>
<arg evaluator="json" expression="$.c"/>
<arg evaluator="json" expression="$.d"/>
</args>
</payloadFactory>
上面一个生成xml,如下所示:
<XmlRoot xmlns="http://ws.apache.org/ns/synapse">
<a>Paper</a>
<b>en-US</b>
<c>en-US</c>
<d>USD</d>
</XmlRoot>
而不是(这是我的目标)
<XmlRoot>
<a>Paper</a>
<b>en-US</b>
<c>en-US</c>
<d>USD</d>
</XmlRoot>
我知道这个命名空间是从序列根元素获取的。如何避免或消除这个自动生成的名称空间?
答案 0 :(得分:1)
您可以通过在有效负载工厂介体中添加空命名空间(xmlns=""
)来避免使用默认名称空间
例如&lt; XmlRoot xmlns="">
<payloadFactory media-type="xml">
<format>
<XmlRoot xmlns="">
<a>$1</a>
<b>$2</b>
<c>$3</c>
<d>$4</d>
</XmlRoot>
</format>
<args>
<arg evaluator="json" expression="$.a"/>
<arg evaluator="json" expression="$.b"/>
<arg evaluator="json" expression="$.c"/>
<arg evaluator="json" expression="$.d"/>
</args>
</payloadFactory>