2017-01-23 1 views
0

Я хочу сгенерировать XML через посредник полезной нагрузки в последовательности WSO2 без пространства имен. Пример:Почему посредник фабрики полезных данных создает 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> 

Я знаю, что это пространство имен получает от корневой последовательности элементов. как избежать или устранить это авто сгенерированное пространство имен?

ответ

1

Вы можете избежать имен пространство по умолчанию, добавив пустое пространство имен (xmlns="") в полезной нагрузке фабрики медиатора

например < 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> 
Смежные вопросы