public abstract class AbstractTransferExecHTTP extends java.lang.Object implements TransferExec
伝送要求に対してのHTTP経由で伝送処理を実行します。 読取方法により読み取ったデータをPOSTデータとして送信し、リモートホスト上で 伝送処理を実行します。 処理の流れとしては以下のようになります。 ①HTTPで伝送処理を実行するためのサーブレットを呼び出す。 ②①で呼び出しされたサーブレットが、伝送処理を実行するためのオブジェクトを生成し、 伝送処理を実行する。 ③処理終了後、伝送プロセスに制御が戻り、読取方法に基づく後処理(完了処理または エラー処理)が実行されます。 まず①について、呼び出しされるサーブレットは、 [リモート接続先URL]servlet/remoteControl?class=TransferExecWrapper になります。 [リモート接続先URL]は、http://[ホスト名]:[ポート番号]/[コンテキスト名]の形式になりますが、 これについては、実行対象で指定します。 次に②について、サーブレット経由で実行される伝送処理について、その実行方法は、 具体的には、サブクラスのクラス名に対して、このクラス(親クラス)のクラス名+"_" を除外した部分が 実行方法として認識されます。 具体的には、クラス名の最後の"_"(アンダーバー)以降が実行方法として認識され、 例として、サブクラス名がTransferExec_HTTP_CB01の場合、接続先における実行方法は 旧伝送DB登録(CB01)となります。 また、リモートホスト上で実行される伝送処理の[リモート実行対象]は、元の実行対象で設定します。 このことから、HTTP経由で伝送処理を実行する場合、元の実行対象には、[リモート接続先URL]と [リモート実行対象]の2つを設定する必要があります。 具体的な設定方法については各サブクラスのJavaDocを参照して下さい。 最後に③について、接続時にエラーが発生した場合や、レスポンスデータに対して"row_error"という 文字列が存在する場合は、エラーとして処理します。 それ以外の場合は、正常終了として処理します。 HTTP接続時には、以下のポストデータが送信されます。 [ポストデータ] ・KBREAD (読取方法) ・READOBJ (読取対象) ・READPRM (読取パラメーター) ・KBEXEC (実行方法) ※サブクラスの最後の"_"(アンダーバー)以降の文字列 ・EXECDBID (実行接続先DBID) ・EXECOBJ (リモート実行対象) ※ローカルの実行対象からリモート接続先URLを除いた文字列 ・EXECPRM (実行パラメーター) ・ERROR_SENDTO (読み取り元ホストコード) ・HFROM (読み取り元ホストコード) ・n (データ件数) ・v1~vn (データ)
6.3.9.0 (2015/11/06) クラス名を、Abstract付に変更する。 |
修飾子 | コンストラクタと説明 |
---|---|
protected |
AbstractTransferExecHTTP()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
execute(java.lang.String[] vals,
TransferConfig config,
Transaction tran)
URL接続を実行します。
|
protected abstract java.lang.String |
getRemoteExecObj()
リモート接続先の実行対象を返します。
|
protected abstract java.lang.String |
getRemoteHost()
リモート接続先URLを返します。
|
protected abstract void |
splitExecObj(java.lang.String localExecObj)
ローカルの実行対象を、リモート接続先の実行対象とリモート接続先URLに分解します。
|
protected AbstractTransferExecHTTP()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public void execute(java.lang.String[] vals, TransferConfig config, Transaction tran)
execute
インタフェース内 TransferExec
vals
- 伝送データ(配列)config
- 伝送設定オブジェクトtran
- トランザクションオブジェクト6.3.9.1 (2015/11/27) TransferConfig#connect(String,String) に移動する。 |
protected abstract void splitExecObj(java.lang.String localExecObj)
localExecObj
- ローカルの実行対象protected abstract java.lang.String getRemoteHost()
splitExecObj(String)
の後に呼び出しする必要があります。protected abstract java.lang.String getRemoteExecObj()
splitExecObj(String)
の後に呼び出しする必要があります。Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.