158.9. 名前空間接頭辞のマッピングの制御
Camel 2.11 から利用可能
JAXB または SOAP を使用してマーシャリングする場合、JAXB 実装は ns2、ns3、ns4 などの名前空間接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では必要なマッピングが含まれるマップを参照できます。
マッピング機能は JAXB の実装に依存するため、このクラスには JAXB-RI 2.1 以上(SUN から)以上が必要です。これは、マッピング機能は JAXB の実装に依存するためです。
たとえば、Spring XML ではマッピングでマップを定義できます。以下のマッピングファイルで SOAP をプレフィックスとして使用するようマッピングします。カスタム名前空間 "http://www.mycompany.com/foo/2" は接頭辞を使用しませんが、カスタムの名前空間 "http://www.mycompany.com/foo/2" は一切使用していません。
<util:map id="myMap"> <entry key="http://www.w3.org/2003/05/soap-envelope" value="soap"/> <!-- we dont 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> <soapjaxb version="1.2" contextPath="com.mycompany.foo" namespacePrefixRef="myMap"/> </marshal>