第64章 SOAP
SOAP は、JAXB2 および JAX-WS アノテーションを使用して SOAP ペイロードをマーシャリングおよびアンマーシャリングするデータフォーマットです。CXF スタックを必要とせずに Apache CXF の基本的な機能を提供します。
namespace 接頭辞のマッピング
SOAP データフォーマットを使用してマーシャリングを行う際に名前空間接頭辞マッピングを制御する方法は、JAXB を参照してください。
64.1. SOAP オプション リンクのコピーリンクがクリップボードにコピーされました!
SOAP データ形式は、以下に示す 6 つのオプションをサポートします。
名前 | デフォルト | Java タイプ | 説明 |
---|---|---|---|
contextPath |
| JAXB クラスが置かれているパッケージ名が 必要 です。 | |
encoding |
| 特定のエンコーディングを無効にして使用します。 | |
elementNameStrategyRef |
| レジストリーから検索する要素ストラテジーを参照します。要素名ストラテジーは 2 つの目的で使用されます。1 つ目は、オブジェクトを SOAP メッセージにマーシャリングするときに、指定のオブジェクトの xml 要素名と soap アクションを見つけることです。2 つ目は、指定の soap 障害名の Exception クラスを見つけることです。以下の 3 つの要素ストラテジークラス名は、追加設定なしで提供されています。QNameStrategy: インスタンス化で設定した固定 qName を使用します。例外ルックアップはサポートされない TypeNameStrategy: 指定されたタイプの XMLType アノテーションから name および namespace を使用します。名前空間が設定されていない場合は、package-info が使用されます。例外ルックアップはサポートされない ServiceInterfaceStrategy: Web サービスインターフェイスからの情報を使用してタイプ名を決定し、SOAP フォールトの例外クラスを見つけるために、パッケージ名 org.apache.camel.dataformat.soap.name に 3 つのクラスがあります。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: を使用して、リソースの解決方法を指定できます。「,」文字を使用して、複数のスキーマファイルを区切ることができます。 |