为什么 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>