org.opengion.fukurou.transfer

## クラス TransferExec_HTTP

- java.lang.Object
- - org.opengion.fukurou.transfer.TransferExec_HTTP

- すべての実装されたインタフェース:
    TransferExec
  直系の既知のサブクラス:
    TransferExec_HTTP_CB01

      public abstract class TransferExec_HTTP
      extends 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 (データ)
  機能分類
    伝送システム
  バージョン
    5.0
  作成者
    Hiroki.Nakamura
  導入されたバージョン:
    JDK1.6

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `TransferExec_HTTP()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `execute(String[] vals, TransferConfig config, Transaction tran)` URL接続を実行します。
    `protected abstract String` | `getRemoteExecObj()` リモート接続先の実行対象を返します。
    `protected abstract String` | `getRemoteHost()` リモート接続先URLを返します。
    `protected abstract void` | `splitExecObj(String localExecObj)` ローカルの実行対象を、リモート接続先の実行対象とリモート接続先URLに分解します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### TransferExec_HTTP

          public TransferExec_HTTP()

  - ### メソッドの詳細

    - #### execute

          public void execute(String[] vals,
                     TransferConfig config,
                     Transaction tran)

      URL接続を実行します。
      定義:
        `execute` インタフェース内 `TransferExec`
      パラメータ:
        `vals` - 伝送データ(配列)
        `config` - 伝送設定オブジェクト
        `tran` - トランザクションオブジェクト

    - #### splitExecObj

          protected abstract void splitExecObj(String localExecObj)

      ローカルの実行対象を、リモート接続先の実行対象とリモート接続先URLに分解します。
      パラメータ:
        `localExecObj` - ローカルの実行対象

    - #### getRemoteHost

          protected abstract String getRemoteHost()

      リモート接続先URLを返します。 このメソッドは、`splitExecObj(String)`の後に呼び出しする必要があります。
      戻り値:
        リモート接続先URL

    - #### getRemoteExecObj

          protected abstract String getRemoteExecObj()

      リモート接続先の実行対象を返します。 このメソッドは、`splitExecObj(String)`の後に呼び出しする必要があります。
      戻り値:
        接続URL

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.