第290章 SOAP DataFormat
Camel バージョン 2.3 の時点で利用可能
SOAP は、JAXB2 および JAX-WS アノテーションを使用して SOAP ペイロードをマーシャリングおよびアンマーシャリングする Data Format です。これは、CXF スタックを使用せずに Apache CXF の基本的な機能を提供します。
サポート対象の SOAP バージョン
SOAP 1.1 がデフォルトでサポートされます。SOAP 1.2 は Camel 2.11 以降でサポートされます。
名前空間接頭辞のマッピング
SOAP データフォーマットを使用してマーシャリングする際に名前空間接頭辞のマッピングを制御する方法については、JAXB を参照してください。
290.1. SOAP オプション
SOAP データフォーマットは、以下に示す 7 つのオプションをサポートします。
Name | デフォルト | Java タイプ | 説明 |
---|---|---|---|
contextPath |
| JAXB クラスが置かれているパッケージ名。 | |
encoding |
| 特定のエンコーディングを過剰に実行し、特定のエンコーディングを使用します。 | |
elementNameStrategyRef |
| レジストリーから検索する要素ストラテジーを参照します。要素名ストラテジーは、2 つの目的で使用されます。1 つ目は、オブジェクトを SOAP メッセージにマーシャリングする際に、指定のオブジェクトと soap アクションの xml 要素名を検索することです。2 つ目は、特定の soap フォールト名に対して Exception クラスを見つけることです。以下の 3 つの要素ストラテジークラス名は追加設定なしで提供されます。QNameStrategy: インスタンス化時に設定された固定 qName を使用します。例外ルックアップはサポートされていない TypeNameStrategy: 指定のタイプの XMLType アノテーションから名前および namespace を使用します。名前空間が設定されていない場合は、package-info が使用されます。例外検索はサポートされていない ServiceInterfaceStrategy - webservice インターフェースからの情報を使用して、タイプ名を判別し、SOAP 障害の例外クラスを検索します。3 つのクラスはすべてパッケージ名 org.apache.camel.dataformat.soap.name にあります。cxf-codegen または同様のツールで Web サービススタブコードを生成した場合は、ServiceInterfaceStrategy の使用が必要になる可能性があります。アノテーションが付けられたサービスインターフェースがない場合は、QNameStrategy または TypeNameStrategy を使用する必要があります。 | |
version |
|
| SOAP version は 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 へのデータフォーマットの application/json など。 |