第311章 SOAP DataFormat
Camel バージョン 2.3 以降で利用可能
SOAP は、JAXB2 および JAX-WS アノテーションを使用して SOAP ペイロードをマーシャリングおよびアンマーシャリングするデータ形式です。CXF スタックを必要とせずに、Apache CXF の基本機能を提供します。
サポートされている SOAP バージョン
SOAP 1.1 はデフォルトでサポートされています。SOAP 1.2 は Camel 2.11 以降でサポートされています。
名前空間接頭辞のマッピング
SOAP データ形式を使用してマーシャリングするときに、名前空間接頭辞のマッピングを制御する方法は、JAXB を参照してください。
311.1. SOAP オプション
SOAP データ形式は、以下にリストされている 7 個のオプションをサポートしています。
名前 | デフォルト | Java タイプ | 説明 |
---|---|---|---|
contextPath |
| JAXB クラスが配置されているパッケージ名。 | |
encoding |
| 特定のエンコーディングを無効にして使用します | |
elementNameStrategyRef |
| レジストリーから検索する要素ストラテジーを参照します。要素名ストラテジーは 2 つの目的で使用されます。1 つ目は、オブジェクトを SOAP メッセージにマーシャリングするときに、特定のオブジェクトと SOAP アクションの xml 要素名を見つけることで、2 つ目は、指定された SOAP エラー名の Exception クラスを見つけることです。次の 3 つの要素のストラテジークラス名は、そのまま使用できます。QNameStrategy: インスタンス化時に設定される固定の qName を使用します。例外ルックアップはサポートされていません。TypeNameStrategy: 指定された型の XMLType アノテーションの名前と名前空間を使用します。名前空間が設定されていない場合は、package-info が使用されます。例外ルックアップはサポートされていません。ServiceInterfaceStrategy: Web サービスインターフェイスからの情報を使用して、型名を決定し、SOAP 障害の例外クラスを見つけます。3 つのクラスはすべて、パッケージ名 org.apache.camel.dataformat.soap.name にあります。cxf-codegen または同様のツールを使用して Web サービスのスタブコードを生成した場合は、おそらく ServiceInterfaceStrategy を使用する必要があります。アノテーション付きのサービスインターフェイスがない場合は、QNameStrategy または TypeNameStrategy を使用する必要があります。 | |
version |
|
| SOAP バージョンは 1.1 または 1.2 のいずれかである必要があります。デフォルトは 1.1 です。 |
namespacePrefixRef |
| JAXB または SOAP を使用してマーシャリングする場合、JAXB 実装は、ns2、ns3、ns4 などの名前空間接頭辞を自動的に割り当てます。このマッピングを制御するために、Camel では目的のマッピングを含むマップを参照できます。 | |
schema |
| 既存のスキーマに対して検証します。接頭辞 classpath:、file:、または http: を使用して、リソースの解決方法を指定できます。「,」文字を使用して、複数のスキーマファイルを区切ることができます。 | |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。 |