48.11. 名前空間接頭辞のマッピングの制御
JAXB または SOAP を使用してマーシャリングする場合に、JAXB 実装は、ns2、ns3、ns4 などの名前空間の接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では目的のマッピングを含むマップを参照できます。
たとえば Spring XML では、マッピングを使用して Map を定義できます。以下のマッピングファイルでは、SOAP を接頭辞として使用するように SOAP をマッピングします。カスタムの名前空間 http://www.mycompany.com/foo/2 は、接頭辞を使用していません。
<util:map id="myMap">
<entry key="http://www.w3.org/2003/05/soap-envelope" value="soap"/>
<!-- we don't want any prefix for our namespace -->
<entry key="http://www.mycompany.com/foo/2" value=""/>
</util:map>
これを JAXB または SOAP データ形式で使用するには、以下に示すように namespacePrefixRef 属性を使用して、このマップを参照します。次に Camel は、ID が myMap (上記で定義) の java.util.Map をレジストリーで検索します。
<marshal>
<soap version="1.2" contextPath="com.mycompany.foo" namespacePrefixRef="myMap"/>
</marshal>