openGionopenGion
5.6.5.0

org.opengion.fukurou.transfer
クラス TransferRead_HTTP

java.lang.Object
  上位を拡張 org.opengion.fukurou.transfer.TransferRead_HTTP
すべての実装されたインタフェース:
TransferRead
直系の既知のサブクラス:
TransferRead_HTTP_CB01, TransferRead_HTTP_FILELIST

public abstract class TransferRead_HTTP
extends java.lang.Object
implements TransferRead

伝送要求に対して、HTTP経由でデータを読取します。 読取方法により読み取ったデータをPOSTデータとして送信し、リモートホスト上で 伝送処理を実行します。 処理の流れとしては以下のようになります。 ①HTTPで読取処理を実行するためのサーブレットを呼び出す。 ②①で呼び出しされたサーブレットが、読取処理を実行するためのオブジェクトを生成し、 読取処理を実行する。 ③読取した結果XMLをパースし、その読取データを伝送オブジェクトに渡し伝送処理を実行する。 ④伝送処理実行後、③の結果XMLから得られる更新キー(配列)をPostデータとして渡し、 HTTP経由で後処理(完了処理またはエラー処理)を実行する。 まず①について、呼び出しされるサーブレットは、 [リモート接続先URL]servlet/remoteControl?class=TransferReadWrapper&type=read になります。 [リモート接続先URL]は、http://[ホスト名]:[ポート番号]/[コンテキスト名]の形式になりますが、 これについては、読取対象で指定します。 接続時にエラーが発生した場合や、レスポンスデータに対して"row_error"という 文字列が存在する場合は、エラーとして処理します。 それ以外の場合は、正常終了として処理します。 次に②について、サーブレット経由で行われる伝送処理について、その読取方法は、 このクラスを継承した各サブクラスのクラス名により決定されます。 具体的には、サブクラスのクラス名に対して、このクラス(親クラス)のクラス名+"_" を除外した部分が 読取方法として認識されます。 例として、サブクラス名がTransferRead_HTTP_CB01の場合、接続先における読取方法は 旧伝送DB読取(CB01)となります。 また、リモートホスト上で実行される伝送処理の[リモート読取対象]は、元の読取対象で設定します。 このことから、HTTP経由で読取処理を行う場合、元の読取対象には、[リモート接続先URL]と [リモート読取対象]の2つを設定する必要があります。 具体的な設定方法については各サブクラスのJavaDocを参照して下さい。 ③について、返されるXMLデータは[レスポンスデータのXML構造]の形式になります。 ここで、dataListは、伝送実行オブジェクトに渡されるデータになります。 また、keyListについては、伝送実行終了後、HTTP経由で完了処理を行うための更新キーになります。 (ローカルの伝送読取オブジェクトはトランザクションに対して同一オブジェクトになりますが、 HTTP接続先でサーブレット経由で生成される、リモートの伝送読取オブジェクトは、 読取処理と完了/エラー処理で異なります。このため、読取したデータのキーをローカルに保持し、 最後の完了/エラー処理の際に、読取したデータのキー(更新キー)をPostDataとして渡すことで、 正しく完了/エラー処理が行われるように対応しています) 最後に④について、呼び出しされるサーブレットは、 [リモート接続先URL]servlet/remoteControl?class=TransferReadWrapper&type=complete (正常終了時) [リモート接続先URL]servlet/remoteControl?class=TransferReadWrapper&type=error (エラー発生時) となります。 HTTP接続時には、以下のポストデータが送信されます。 [ポストデータ] ・KBREAD (読取方法) ※サブクラスの最後の"_"(アンダーバー)以降の文字列 ・READOBJ (リモート読取対象) ※ローカルの読取対象からリモート接続先URLを除いた文字列 ・READPRM (読取パラメーター) ・KBEXEC (実行方法) ・EXECDBID (実行接続先DBID) ・EXECOBJ (実行対象) ・EXECPRM (実行パラメーター) ・ERROR_SENDTO (読み取り元ホストコード) ・HFROM (読み取り元ホストコード) ・n (キー件数) ・k1~kn (キー) また、データ読取時に返されるXMLは以下の構造をしています。 [レスポンスデータのXML構造] <root> <dataList> <data>aaa</data> <data>bbb</data> <data>ccc</data> <data>ddd</data> <data>eee</data> </dataList> <keyList> <key>KEY1</key> <key>KEY2</key> <key>KEY3</key> </keyList> </root>

機能階層
伝送システム
バージョン
5.0
作成者
Hiroki.Nakamura
導入されたバージョン:
JDK1.6

コンストラクタの概要
TransferRead_HTTP()
           
 
メソッドの概要
 void complete(TransferConfig config, Transaction tran)
          読取したデータに対して完了処理を行います。
protected  URLConnect connect(java.lang.String url, java.lang.String postData, TransferConfig config)
          指定のURLに接続します。
 void error(TransferConfig config, ApplicationInfo appInfo)
          読取したデータに対してエラー処理を行います。
 java.lang.String[] getKeys()
          (このクラスでは、サポートされてません。)
protected  java.lang.String getPostData(java.lang.String[] keys, TransferConfig config)
          伝送設定オブジェクトをURLパラメーターに変換します。
protected abstract  java.lang.String getRemoteHost()
          リモート接続先URLを返します。
protected abstract  java.lang.String getRemoteReadObj()
          リモート接続先の読取対象を返します。
 java.lang.String[] read(TransferConfig config, Transaction tran)
          URL接続を行いデータを読み取ります。
 void setKeys(java.lang.String[] keys)
          (このクラスでは、サポートされてません。)
protected abstract  void splitReadObj(java.lang.String localReadObj)
          ローカルの読取対象を、リモート接続先の読取対象とリモート接続先URLに分解します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TransferRead_HTTP

public TransferRead_HTTP()
メソッドの詳細

read

public java.lang.String[] read(TransferConfig config,
                               Transaction tran)
URL接続を行いデータを読み取ります。 接続パラメータには、"type=read"が付加されます。

定義:
インタフェース TransferRead 内の read
パラメータ:
config - 伝送設定オブジェクト
tran - トランザクションオブジェクト
戻り値:
読み取りしたデータ(配列)

complete

public void complete(TransferConfig config,
                     Transaction tran)
読取したデータに対して完了処理を行います。 接続パラメータには、"type=complete"が付加されます。

定義:
インタフェース TransferRead 内の complete
パラメータ:
config - 伝送設定オブジェクト
tran - トランザクションオブジェクト

error

public void error(TransferConfig config,
                  ApplicationInfo appInfo)
読取したデータに対してエラー処理を行います。 接続パラメータには、"type=error"が付加されます。

定義:
インタフェース TransferRead 内の error
パラメータ:
config - 伝送設定オブジェクト
appInfo - DB接続情報

getKeys

public java.lang.String[] getKeys()
(このクラスでは、サポートされてません。)

定義:
インタフェース TransferRead 内の getKeys
戻り値:
更新キー(配列)

setKeys

public void setKeys(java.lang.String[] keys)
(このクラスでは、サポートされてません。)

定義:
インタフェース TransferRead 内の setKeys
パラメータ:
keys - 更新キー(配列)

splitReadObj

protected abstract void splitReadObj(java.lang.String localReadObj)
ローカルの読取対象を、リモート接続先の読取対象とリモート接続先URLに分解します。

パラメータ:
localReadObj - ローカルの読取対象

getRemoteHost

protected abstract java.lang.String getRemoteHost()
リモート接続先URLを返します。 このメソッドは、splitReadObj(String)の後に呼び出しする必要があります。

戻り値:
リモート接続先URL

getRemoteReadObj

protected abstract java.lang.String getRemoteReadObj()
リモート接続先の読取対象を返します。 このメソッドは、splitReadObj(String)の後に呼び出しする必要があります。

戻り値:
接続URL

connect

protected URLConnect connect(java.lang.String url,
                             java.lang.String postData,
                             TransferConfig config)
                      throws java.io.IOException
指定のURLに接続します。

パラメータ:
url - 接続URL
postData - POSTするデータ
config - 伝送設定オブジェクト
戻り値:
接続オブジェクト
例外:
java.io.IOException

getPostData

protected java.lang.String getPostData(java.lang.String[] keys,
                                       TransferConfig config)
伝送設定オブジェクトをURLパラメーターに変換します。

パラメータ:
keys - 更新キー(配列)
config - 伝送設定オブジェクト
戻り値:
URLパラメーター

openGion 5.6.5.0

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