public abstract class HTTPActionEventHandler extends Object
HTTPActionEvent の 実行をサーバに要求するためのハンドラの抽象実装です。
この抽象実装は、すべての HTTPActionEvent ハンドラの スーパークラスになります。
ハンドラを作成してイベント実行を要求する場合、execute(String) または execute(java.net.URL) を利用します。
execute(java.net.HttpURLConnection) も利用できますが、 通常はこの方法を使わない方が良いと思われます。
イベント実行を要求するURLは、 HTTPActionEventListener へ接続できるものを指定します。 標準では、下記のようになります。
http://<サーバアドレス>[:<ポート番号>]/imart/HTTPActionEventListener
外部ソフトウェア接続モジュールでは、HTTPS プロトコルを利用した通信が可能です。
以下に、簡単にHTTPSプロトコルを利用した通信を行う方法を記します。
>keytool -import -alias sample_alias -file C:¥temp¥server.crt上記コマンドを実行すると、ユーザのホームディレクトリの「.keystore」ファイルに、キーストアが作成されます。
-Djavax.net.ssl.trustStore=/home/user_name/.keystore
-Djavax.net.ssl.trustStore="C:¥¥Documents and Settings¥¥user_name¥¥.keystore"
HttpsURLConnection を利用して通信を行います。setHostnameVerifier(HostnameVerifier) メソッドで設定します。SSLSocketFactory を生成する SSLContextを、
setSSLContext(SSLContext) メソッドで設定します。| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
HTTPActionEventHandler()
新しいイベントハンドラを作成します。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
HTTPActionEventResult |
execute(HttpURLConnection connection)
指定された URL コネクションを利用してにサーバに接続し、 イベントの実行を要求します。
|
HTTPActionEventResult |
execute(String url)
指定された URL に接続して、 イベントの実行を要求します。
|
HTTPActionEventResult |
execute(URL url)
指定された URL に接続して、 イベントの実行を要求します。
|
String |
getCharacterEncoding()
パラメータを符号化するためのエンコーディング名を返します。
|
protected abstract Properties |
getEventRequestParameterMap()
イベントに対するパラメータのマップを返します。
|
abstract String |
getName()
イベント名を返します。
|
abstract String |
getParameter(String key)
設定したパラメータ値を取得します。
|
abstract Set<String> |
getParameterKeySet()
現在、パラメータとして設定されているキーの一覧を返します。
|
abstract Properties |
getParameterMap()
設定済みパラメータのマップのコピーを返します。
|
abstract boolean |
hasParameter(String key)
設定したパラメータ名にパラメータがマッピングされているかどうか検査します。
|
abstract void |
removeParameter(String key)
指定のキーのマップを削除します。
|
void |
setCharacterEncoding(String enc)
パラメータを符号化するためのエンコーディング名を指定します。
|
void |
setHostnameVerifier(HostnameVerifier hostnameVerifier)
外部ソフトウェア接続モジュールを利用して HTTPS 通信を行う際の HostnameVerifier を設定します。
|
abstract void |
setParameter(String key,
String value)
イベントへのパラメータを設定します。
|
void |
setSSLContext(SSLContext sslContext)
外部ソフトウェア接続モジュールを利用して HTTPS 通信を行う際の
SSLSocketFactory を生成する SSLContextを設定します。 |
public abstract String getName()
実際には、Application Runtime で実行される HTTPActionEvent を 実装したクラスのクラス名を返します。
public abstract void setParameter(String key, String value)
key - キーvalue - 値public abstract String getParameter(String key)
key - キーpublic abstract boolean hasParameter(String key)
key - キーpublic abstract Set<String> getParameterKeySet()
public abstract void removeParameter(String key)
key - キーpublic abstract Properties getParameterMap()
HTTPActionEventHandlerParameterException - パラメータに異常がある場合protected abstract Properties getEventRequestParameterMap() throws HTTPActionEventHandlerParameterException
HTTPActionEventHandlerParameterException - パラメータに異常がある場合public String getCharacterEncoding()
public void setCharacterEncoding(String enc) throws UnsupportedEncodingException
デフォルトでは UTF-8 を用いてパラメータを符号化します。 また、イベントへの各パラメータ値は Unicode のまま扱われますので、 通常は文字エンコーディングを変更する必要はありません。
enc - 文字エンコーディング名UnsupportedEncodingException - 指定のエンコーディング名がサポートされない場合public HTTPActionEventResult execute(String url) throws MalformedURLException, IOException, HTTPActionEventHandlerException
このメソッドは、指定の URL 文字列から java.net.URL のインスタンスを 作成して execute(java.net.URL) メソッドを呼び出します。
url - 接続 URLHTTPActionEventHandlerException - 実行時エラーMalformedURLExceptionIOExceptionpublic HTTPActionEventResult execute(URL url) throws IOException, HTTPActionEventHandlerException
このメソッドは、指定の java.net.URL から java.net.HttpURLConnection を取得して execute(java.net.HttpURLConnection) メソッドを呼び出します。
url - 接続 URLHTTPActionEventHandlerException - 実行時エラーIOExceptionpublic HTTPActionEventResult execute(HttpURLConnection connection) throws IOException, HTTPActionEventHandlerException
このメソッドは、 getParameterMap() の返り値をイベントの引数として サーバに対して getName() が表すイベントの 実行を要求します。
connection - コネクションIOException - 入出力エラーHTTPActionEventHandlerException - 実行時エラーpublic void setHostnameVerifier(HostnameVerifier hostnameVerifier)
hostnameVerifier - 外部ソフトウェア接続モジュールを利用して HTTPS 通信を行う際の HostnameVerifierpublic void setSSLContext(SSLContext sslContext)
SSLSocketFactory を生成する SSLContextを設定します。sslContext - SSLContextCopyright © 2012 NTT DATA INTRAMART CORPORATION