SOAP ハンドラーに関するいくつかのチュートリアルを読みましたが、ハンドラー チェーンのみを使用するものもあれば、@resource アノテーションとハンドラー チェーン xml の両方を使用するものもあります。@resource を使用する必要があるかどうか混乱しています。はいの場合、なぜそれを使用する必要があるのですか?
1 に答える
注釈は@Resource
、アプリケーションが必要とするリソースをマークします。この注釈は、アプリケーション コンポーネント クラス、またはコンポーネント クラスのフィールドまたはメソッドに適用できます。アノテーションがフィールドまたはメソッドに適用されると、コンテナーは、コンポーネントの初期化時に、要求されたリソースのインスタンスをアプリケーション コンポーネントに挿入します。アノテーションがコンポーネント クラスに適用される場合、アノテーションは、アプリケーションが実行時に検索するリソースを宣言します。
WebServiceContext
アノテーションを使用して注入されたオブジェクトは、を含む@Resource
をラップし、を伝送した HTTP 接続に関するさまざまな情報も含みます。Web コンテナーは、サービス要求が到着するたびに参照を初期化します。これにより、Web メソッドは、リクエストを運ぶ HTTP リクエスト内の HTTPヘッダー、および 、SOAP ヘッダー、および にアクセスできるようになります。MessageContext
SOAPMessage
SOAPMessage
WebServiceContext
SOAPMessageContext
SOAPMessage
ある場合は@Resource
注釈を使用し、他の場合は使用しないのはなぜですか? SOAPMessageContext
場合によっては、これらのクラスのオブジェクト ( 、SOAPMessage
など)からすべての必要な情報を取得でき、これらのオブジェクトはLogicalHandler
インターフェイスまたはSOAPMessageContext
インターフェイスの実装を介して利用できます。それ以外の場合、すべての必要な情報は、注入された から直接取得できますWebServiceContext
。
関連項目: