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
- 実行時エラーMalformedURLException
IOException
public HTTPActionEventResult execute(URL url) throws IOException, HTTPActionEventHandlerException
このメソッドは、指定の java.net.URL から java.net.HttpURLConnection を取得して execute(java.net.HttpURLConnection)
メソッドを呼び出します。
url
- 接続 URLHTTPActionEventHandlerException
- 実行時エラーIOException
public 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