public interface Handlerjavax.xml.rpc.handler.Handler インターフェースは、SOAP メッセージハンドラーによって実装される必要があります。SOAP メッセージハンドラーの handleRequest、handleResponse、handleFault メソッドは、SOAPMessageContext から SOAPMessage にアクセスします。これらのメソッドの実装により、ヘッダーと本体要素を含む SOAPMessage を変更できます。| 修飾子と型 | メソッドと説明 |
|---|---|
void | destroy()destroy メソッドは、Handler インスタンスのライフサイクルの終わりを示します。 |
QNameSE[] | getHeaders() この Handler インスタンスで処理できるヘッダーブロックを取得します。 |
boolean | handleFault(MessageContext context)handleFault メソッドは、SOAP メッセージ処理モデルに基づいて SOAP エラーを処理します。 |
boolean | handleRequest(MessageContext context)handleRequest メソッドはリクエストメッセージを処理します。 |
boolean | handleResponse(MessageContext context)handleResponse メソッドは、レスポンス SOAP メッセージを処理します。 |
void | init(HandlerInfo config)init メソッドを使用すると、Handler インスタンスが自身を初期化できます。 |
boolean handleRequest(MessageContext context)
handleRequest メソッドはリクエストメッセージを処理します。context - MessageContext パラメーターは、リクエストメッセージへのアクセスを提供します。true を返し、リクエストハンドラーチェーンの継続処理を示します。HandlerChain は、次のエンティティを呼び出す責任を負います。次のエンティティは、HandlerChain の次のハンドラーである場合があります。または、このハンドラーがチェーンの最後のハンドラーである場合、次のエンティティはサービスエンドポイントオブジェクトです。false を返します。この場合、リクエストハンドラーチェーンの以降の処理はブロックされ、ターゲットサービスエンドポイントはディスパッチされません。Jakarta XML RPC ランタイムシステムは、SOAPMessageContext を使用して次にレスポンスハンドラーチェーンを呼び出す責任を負います。Handler 実装クラスは、handleRequest メソッドと handleResponse メソッドのいずれかで適切なレスポンス SOAP メッセージを設定する責任を負います。デフォルトの処理モデルでは、レスポンスハンドラーチェーンは同じハンドラーインスタンス (false を返したもの) から処理を開始し、実行シーケンスを逆方向に進みます。JAXRPCException - この例外は、ハンドラー固有のランタイムエラーを示します。handleRequest メソッドによって JAXRPCException がスローされた場合、HandlerChain はこのハンドラーチェーンの以降の処理を終了します。サーバー側では、HandlerChain は、メッセージ自体の内容に直接起因するものではなく、メッセージの処理中にランタイムエラーが発生したためにメッセージを処理できなかったことを示す SOAP エラーを生成します。クライアント側では、例外がクライアントコードに伝播されます。SOAPFaultException - これは SOAP エラーを示します。ハンドラー実装クラスは、handleRequest メソッドまたは handleFault メソッドのいずれかで、SOAP メッセージに SOAP エラーを設定する責任があります。サーバー側リクエストハンドラーの handleRequest メソッドによって SOAPFaultException がスローされた場合、HandlerChain はこのハンドラーチェーン内のリクエストハンドラーのそれ以降の処理を終了し、SOAP メッセージコンテキストを使用して HandlerChain の handleFault メソッドを呼び出します。次に、HandlerChain は、例外をスローしたハンドラーインスタンスから開始して、実行を逆方向に進めながら、ハンドラーチェーンに登録されているハンドラーの handleFault メソッドを呼び出します。クライアント側リクエストハンドラーの handleRequest メソッドは、SOAPFaultException をスローしてはなりません。boolean handleResponse(MessageContext context)
handleResponse メソッドは、レスポンス SOAP メッセージを処理します。context - MessageContext パラメーターは、レスポンス SOAP メッセージへのアクセスを提供します true を返し、レスポンスハンドラーチェーンの処理が継続していることを示します。HandlerChain は、ハンドラーチェーンの次の Handler で handleResponse メソッドを呼び出します。false を返し、レスポンスハンドラーチェーンのブロックを示します。この場合、ハンドラーチェーン内の他のレスポンスハンドラーは呼び出されません。JAXRPCException - ハンドラー固有のランタイムエラーを示します。handleResponse メソッドによって JAXRPCException がスローされた場合、HandlerChain はこのハンドラーチェーンの以降の処理を終了します。サーバー側では、HandlerChain は、メッセージ自体の内容に直接起因するものではなく、メッセージの処理中に発生したランタイムエラーが原因でメッセージを処理できなかったことを示す SOAP エラーを生成します。クライアント側では、ランタイム例外がクライアントコードに伝播されます。boolean handleFault(MessageContext context)
handleFault メソッドは、SOAP メッセージ処理モデルに基づいて SOAP エラーを処理します。context - MessageContext パラメーターは SOAP メッセージへのアクセスを提供します true を返します。HandlerChain は、ハンドラーチェーンの次の Handler で handleFault メソッドを呼び出します。false を返します。この場合、ハンドラーチェーン内の他のハンドラーは呼び出されません。JAXRPCException - ハンドラー固有のランタイムエラーを示します。handleFault メソッドによって JAXRPCException がスローされた場合、HandlerChain はこのハンドラーチェーンの以降の処理を終了します。サーバー側では、HandlerChain は、メッセージ自体の内容に直接起因するものではなく、メッセージの処理中にランタイムエラーが発生したためにメッセージを処理できなかったことを示す SOAP エラーを生成します。クライアント側では、JAXRPCException がクライアントコードに伝播されます。void init(HandlerInfo config)
init メソッドを使用すると、Handler インスタンスが自身を初期化できます。init メソッドは、ハンドラー構成を HandlerInfo インスタンスとして渡します。HandlerInfo は、初期化中にハンドラーを構成するために使用されます(例: 外部リソースまたはサービスへのセットアップアクセス)。init メソッドでは、Handler クラスが任意のリソースへのアクセス(たとえば、ロギングサービスやデータベースへのアクセス)を取得し、インスタンス変数の一部として維持できます。これらのインスタンス変数には、さまざまなハンドルメソッドで実行される SOAP メッセージ処理に固有の状態があってはならないことに注意してください。
config - このハンドラーの初期化の構成 JAXRPCException - ハンドラーの初期化に失敗した場合 void destroy()
destroy メソッドは、Handler インスタンスのライフサイクルの終了を示します。Handler 実装クラスは、そのリソースを解放し、destroy メソッドの実装でクリーンアップを実行する必要があります。JAXRPCException - 破棄中にエラーが発生した場合 QNameSE[] getHeaders()
QName は、Header ブロックの最も外側の要素の修飾名です。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.