为什么 Payload Factory Mediator 使用默认名称 space 构建 XML?
Why Payload Factory Mediator builds XML with default name space?
我想在 WSO2 序列中通过 Payload Mediator 生成 XML,但没有名称 space。示例:
<payloadFactory media-type="xml">
<format>
<XmlRoot>
<a></a>
<b></b>
<c></c>
<d></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>
我知道这个名字space 是从序列根元素中获取的。如何避免或消除这个自动生成的名称 space ?
您可以通过在负载工厂中介
中添加空名称 space ( xmlns=""
) 来避免默认名称 space
例如<XmlRoot xmlns="">
<payloadFactory media-type="xml">
<format>
<XmlRoot xmlns="">
<a></a>
<b></b>
<c></c>
<d></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>
我想在 WSO2 序列中通过 Payload Mediator 生成 XML,但没有名称 space。示例:
<payloadFactory media-type="xml">
<format>
<XmlRoot>
<a></a>
<b></b>
<c></c>
<d></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>
我知道这个名字space 是从序列根元素中获取的。如何避免或消除这个自动生成的名称 space ?
您可以通过在负载工厂中介
中添加空名称 space (xmlns=""
) 来避免默认名称 space
例如<XmlRoot xmlns="">
<payloadFactory media-type="xml">
<format>
<XmlRoot xmlns="">
<a></a>
<b></b>
<c></c>
<d></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>