2017-01-23 2 views
0

Ich möchte XML über Payload Mediator in WSO2-Sequenz ohne Namensraum generieren. Beispiel:Warum erstellt Payload Factory Mediator XML mit Standardnamenraum?

<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> 

über einen xml erzeugt wie unten:

<XmlRoot xmlns="http://ws.apache.org/ns/synapse"> 
    <a>Paper</a> 
    <b>en-US</b> 
    <c>en-US</c> 
    <d>USD</d> 
</XmlRoot> 

statt (das ist mein Ziel)

<XmlRoot> 
    <a>Paper</a> 
    <b>en-US</b> 
    <c>en-US</c> 
    <d>USD</d> 
</XmlRoot> 

Ich weiß, das Namespace wird von Sequenz Wurzelelement. Wie kann man diesen automatisch generierten Namensraum vermeiden oder eliminieren?

Antwort

1

Sie den Standardnamen Raum durch Hinzufügen von leeren Namensraum (xmlns="") in Nutzlast Fabrik Vermittler vermeiden kann

beispiels < 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>