0

SOAP ハンドラーに関するいくつかのチュートリアルを読みましたが、ハンドラー チェーンのみを使用するものもあれば、@resource アノテーションとハンドラー チェーン xml の両方を使用するものもあります。@resource を使用する必要があるかどうか混乱しています。はいの場合、なぜそれを使用する必要があるのですか?

4

1 に答える 1

0

注釈は@Resource、アプリケーションが必要とするリソースをマークします。この注釈は、アプリケーション コンポーネント クラス、またはコンポーネント クラスのフィールドまたはメソッドに適用できます。アノテーションがフィールドまたはメソッドに適用されると、コンテナーは、コンポーネントの初期化時に、要求されたリソースのインスタンスをアプリケーション コンポーネントに挿入します。アノテーションがコンポーネント クラスに適用される場合、アノテーションは、アプリケーションが実行時に検索するリソースを宣言します。

WebServiceContextアノテーションを使用して注入されたオブジェクトは、を含む@Resourceをラップし、を伝送した HTTP 接続に関するさまざまな情報も含みます。Web コンテナーは、サービス要求が到着するたびに参照を初期化します。これにより、Web メソッドは、リクエストを運ぶ HTTP リクエスト内の HTTPヘッダー、および 、SOAP ヘッダー、および にアクセスできるようになります。MessageContextSOAPMessageSOAPMessageWebServiceContextSOAPMessageContextSOAPMessage

ある場合は@Resource注釈を使用し、他の場合は使用しないのはなぜですか? SOAPMessageContext場合によっては、これらのクラスのオブジェクト ( 、SOAPMessageなど)からすべての必要な情報を取得でき、これらのオブジェクトはLogicalHandlerインターフェイスまたはSOAPMessageContextインターフェイスの実装を介して利用できます。それ以外の場合、すべての必要な情報は、注入された から直接取得できますWebServiceContext

関連項目:

于 2015-11-03T19:29:57.590 に答える