20.3. Usage
20.3.1. 全般 リンクのコピーリンクがクリップボードにコピーされました!
camel-quarkus-cxf-soap
は、CXF Extensions for Quarkus プロジェクト (quarkus-cxf
) のエクステンションを使用します。つまり、quarkus-cxf
は、サポート対象のユースケースおよび WS 仕様のセットを提供します。
サポート対象のユースケースおよび WS 仕様の詳細は、Quarkus CXF Reference を参照してください。
20.3.2. 依存関係の管理 リンクのコピーリンクがクリップボードにコピーされました!
Camel Extensions for Quarkus は、CXF および quarkus-cxf
バージョンを 管理 します。これらのプロジェクトと互換性があるバージョンを選択する必要はありません。
20.3.3. クライアント リンクのコピーリンクがクリップボードにコピーされました!
camel-quarkus-cxf-soap
(追加の依存関係は不要) を使用すると、CXF クライアントを Camel ルートでプロデューサーとして使用できます。
CalculatorService
は以下のようになります。
JAX-WS アノテーションが必要です。Simple CXF フロントエンドはサポートされていません。ネイティブモードで適切に機能させるには、複雑なパラメータータイプに JAXB アノテーションが必要です。
このサービスエンドポイントインターフェイスを実装する quay.io/l2x6/calculator-ws:1.2 コンテナーに対して、このクライアントアプリケーションをテストできます。
docker run -p 8082:8080 quay.io/l2x6/calculator-ws:1.2
$ docker run -p 8082:8080 quay.io/l2x6/calculator-ws:1.2
quarkus-cxf
は、@io.quarkiverse.cxf.annotation.CXFClient
アノテーションを使用する SOAP クライアントの挿入 をサポートします。詳細は、quarkus-cxf
ユーザーガイドの SOAP クライアント の章を参照してください。
20.3.4. Server リンクのコピーリンクがクリップボードにコピーされました!
camel-quarkus-cxf-soap
を使用すると、SOAP エンドポイントを Camel ルートのコンシューマーとして公開できます。このユースケースには、追加の依存関係は必要ありません。
これら 2 つのサービスのパスは、application.properties
などに設定できる quarkus.cxf.path
設定プロパティー の値によって異なります。
application.properties
quarkus.cxf.path = /soap-services
quarkus.cxf.path = /soap-services
この設定を適用すると、http://localhost:8080/soap-services/hello-bean
および http://localhost:8080/soap-services/hello-inline
の 2 つのサービスにそれぞれアクセスできます。
上記の URL に ?wsdl
を追加することで、WSDL にアクセスできます。
他のエクステンションが HTTP エンドポイントを公開しないと 100% 確信できない限り、アプリケーションで quarkus.cxf.path = /
を使用しないでください。
CEQ 2.13.3 以降では、quarkus.cxf.path
のデフォルト値は /
です。デフォルト値は、他のエクステンションが HTTP エンドポイントを公開しないようにします。
これは RESTEasy、Vert.x、SmallRy Health などに影響します。これらを使用する場合は、quarkus.cxf.path
を、/services
などの特定のパスに設定する必要があります。これは、Camel Extensions for Quarkus 3.0.0
/ quarkus-cxf 2.0.0
で始まるデフォルトです。
quarkus-cxf
は、SOAP エンドポイントを公開する代替方法をサポートします。詳細は、quarkus-cxf
ユーザーガイドの SOAP Services の章を参照してください。
20.3.5. 要求および応答のロギング リンクのコピーリンクがクリップボードにコピーされました!
org.apache.cxf.ext.logging.LoggingFeature
を使用して、クライアントとサーバーの SOAP メッセージの詳細ロギングを有効にできます。
io.quarkiverse.cxf:quarkus-cxf-rt-features-logging
は、camel-quarkus-cxf-soap
依存関係として org.apache.cxf.ext.logging.LoggingFeature
のサポートを提供します。
アプリケーションに明示的に追加する必要はありません。
20.3.6. WS 仕様 リンクのコピーリンクがクリップボードにコピーされました!
サポートされる WS 仕様の範囲は、Quarkus CXF プロジェクトによって提供されます。
サポート対象のユースケースおよび WS 仕様の詳細は、Quarkus CXF Reference を参照してください。
アプリケーションで他の WS 仕様が必要な場合は、それに対応する Quarkus CXF 依存関係を追加する必要があります。
Camel Extensions for Quarkus では、サポートレベル Stable
でリストされているすべてのエクステンションをサポートします。
さまざまな WS 仕様を実装するアプリケーションの実行可能な例として、統合テストを使用できます。
20.3.7. ツール リンクのコピーリンクがクリップボードにコピーされました!
quarkus-cxf
は、以下の 2 つの CXF ツールをラップします。
-
wsdl2Java
- WSDL からサービスクラスを生成する 場合 -
java2ws
- Java クラスから WSDL を生成する 場合
wsdl2Java
が適切に機能するには、アプリケーションは io.quarkiverse.cxf:quarkus-cxf
に直接依存する必要があります。
wsdlvalidator
はサポート対象外ですが、application.properties
で以下の設定を指定し、wsdl2Java
を使用して WSDL を検証できます。
application.properties
quarkus.cxf.codegen.wsdl2java.additional-params = -validate
quarkus.cxf.codegen.wsdl2java.additional-params = -validate