jp.ne.mki.wedge.rule.client.httpaccess
クラス AbstractHttpAccess

java.lang.Object
  上位を拡張 jp.ne.mki.wedge.rule.base.AbstractBase
      上位を拡張 jp.ne.mki.wedge.rule.base.AbstractClient
          上位を拡張 jp.ne.mki.wedge.rule.client.httpaccess.AbstractHttpAccess
すべての実装されたインタフェース:
ClientInterface, CommonInterface, PostInterface, RuleEngineInterface
直系の既知のサブクラス:
AbstractGet, AbstractPost

public abstract class AbstractHttpAccess
extends AbstractClient
implements PostInterface

Http送受信抽象クラス

入力アイテムセットに設定された値をHttp送信します。
実行は以下の順番で行われます。    

         
  1. getIOParameterの実行
  2.      
  3. 前処理whenBeforeHttpAccessの実行
  4.      
  5. サーバアクセス
           getUrlにて取得したURLにアクセスします。
           getSendMethodにて取得したアクセス方法にて送信を行います。      
  6.      
  7. 新しいSessionの場合whenNewSessionを実行
  8.      
  9. AdjustmentHttpResponseCodeを実行
  10.      
  11. executeXsltを実行
  12.      
  13. 実行モードがTESTの場合、取得結果をトレースログに出力
  14.      
  15. 結果に値が無い場合、getHttpAccessErrorMessageのメッセージをダイアログに表示
  16.      
  17. xmlParseを実行し、アイテムに値を格納
  18.    
 


[I/O RECORD]

InputRecord OutputRecord
  1. 送信したいITEM(複数指定)
  1. 受信したいITEM(複数指定)

[RULE PARAMETER]

Parameter アクセスするサーバーのURL+;+xslファイルのURL(必要なければ指定なしでOK)

バージョン:
1.0

フィールドの概要
protected  java.lang.String faultString
           
protected  java.lang.String paramOfServerUrl
           
protected  java.lang.String paramOfXslUrl
           
(package private)  int result
           
 
クラス jp.ne.mki.wedge.rule.base.AbstractBase から継承されたフィールド
controlRecord, engineManager, errorMessage, executeType, id, inputRecord, logicalName, logicClassDelegate, outputRecord, physicalName, ruleParameter, ruleType, serverParameter, userConstant
 
インタフェース jp.ne.mki.wedge.rule.base.interfaces.ClientInterface から継承されたフィールド
FRAME_CLOSE, FRAME_QUIT, SKIP_ALL, STOP, STOP_SELECT_ALL, SYSTEM_EXIT, SYSTEM_QUIT, TIMING_AFTER, TIMING_BEFORE, TIMING_LOAD, TIMING_ROW_CLICK, TIMING_ROW_WCLICK, TIMING_UN_LOAD
 
インタフェース jp.ne.mki.wedge.rule.base.interfaces.CommonInterface から継承されたフィールド
CANCEL, ERROR, EXECUTE_BOTH, EXECUTE_CLIENT, EXECUTE_DEBUG, EXECUTE_HTMLGATEWAY, EXECUTE_SERVER, EXECUTE_SERVERDC, IO_ERROR, IO_ERROR_EXECUTE_PARAMETER, IO_ERROR_IN, IO_ERROR_IO_MUST_SAME_COUNT, IO_ERROR_ITEM_TYPE, IO_ERROR_OUT, IO_ERROR_PARAMETER, NONE, OK, PARAMETER_DELIMITER, SKIP, USER_ERROR
 
コンストラクタの概要
AbstractHttpAccess()
           
 
メソッドの概要
 boolean AdjustmentHttpResponseCode(int code, java.io.InputStream is)
          Httpレスポンスコードのチェック デフォルトでは「200」以外の場合はエラーメッセージを表示して処理を中断します。
 void clearCookie()
          Cookieクリア
 int execute()
          入力引数に指定されたアイテムを物理名=値に変換しHTTP送信する
 byte[] executeXslt(java.io.InputStream is, int contentLength, java.lang.String xslFileName)
          サーバからの戻り値を指定のxslを使用しXslt行う xslFileNameがnullもしくは空の場合には、Xsltは行いません。
 void exit()
          終了処理。
static byte[] getByte(java.io.InputStream is, int contentLength)
          InputStreamよりバイト配列を取得
 java.lang.String getCookie()
          Cookieを取得
 java.lang.String getEncodeName(java.lang.String charset)
          charsetからEncode名称を取得 UTF-8,ISO-8859-1,US-ASCII,ISO-8859-9,SHIFT_JIS,EUC-JPを対象にしています。
 java.util.Properties[] getHeaderValues()
          Http通信時にヘッダに設定する内容を String配列で取得します。
 java.lang.String getHttpAccessErrorMessage()
          HttpAccess時にエラーが発生した場合にダイアログに表示するメッセージ length()=0の場合ダイアログは表示しない メッセージを任意に変えたい場合にはこのメソッドを上書きしてください。
 int getIOParameter()
          IOパラメータ取得。
 java.lang.String getParamOfServerUrl()
          パラメータより取得したサーバアクセスURLパスを返します。
 java.lang.String getParamOfXslUrl()
          パラメータより取得したXSLファイルURLパスを返します。
 java.lang.String getRequestBodyOptionalValue()
          Manageに紐づいた OptionalDataMapから、
REQESUT_BODYをtargetとするOptionalDataの一覧を取得し、 「Name=Data」の形式を「&」で結合した、文字列で返します
 java.util.Properties[] getRequestHeaderOptionalValue()
          Manageに紐づいた OptionalDataMapから、
REQESUT_HEADERをtargetとするOptionalDataの一覧を取得し、 Propertiesの配列で返します

それぞれのPropertiesには、"key","value"の二つの項目が設定されており、
それぞれに OptionalData.getName()、OptionalData.getData()の値が
格納された形となります。
static byte[] getResponseByLength(java.io.InputStream is, int length)
          レスポンス取得:Content-Lengthが使用できる場合
static byte[] getResponseByOutputStream(java.io.InputStream is)
          レスポンス取得:Content-Lengthが使用できない場合
 java.lang.String getSendContentType()
          送信Content-Typeを指定 空文字の場合にはContent-Typeの設定は行いません。
 java.net.URLConnection getUrlConnection()
          URLConnectionを取得
 java.lang.String getValueMethod(java.lang.String name, int position)
          値取得方法 Node以下のどの値を取得対象にするかを設定。
protected  java.lang.String getXmlView(org.w3c.dom.Node nd, java.lang.StringBuffer buf)
          指定のNodeをStringに展開する
 void setCookie(java.lang.String cookie)
          Cookieを設定
 void setDefaultCharsetForLog(java.lang.String charSet)
          ログ出力のためのデフォルトCharSetを設定する 設定なしの場合(null)は、SystemのデフォルトCharsetになります。
 void setFaultString(java.lang.String message)
          エラーダイアログに表示するメッセージを設定します。
static void setItem(org.w3c.dom.traversal.NodeIterator nl, jp.ne.mki.wedge.run.client.data.Item item)
          指定のNodeIteratorのCDATA値からitemに値を設定する
static void setItem(org.w3c.dom.traversal.NodeIterator nl, jp.ne.mki.wedge.run.client.data.Item item, java.lang.String attributeName)
          指定のNodeIteratorの属性値からitemに値を設定する
 void setItems(org.w3c.dom.Document root, java.util.Vector items)
          出力Itemに値を設定する(CDATAの値を設定)
 void setResult(int result)
          ロジッククラス戻り値を任意に指定
 boolean whenBeforeHttpAccess()
          HTTPアクセスをする前の処理 サーバにアクセスする前に実行されます。
 boolean whenNewSession(boolean isFirstAccess)
          新しいSessionだった場合の処理 サーバアクセス後実行されます。
 void writeTraceLog(java.lang.String message)
          ログ出力
 boolean xmlParse(byte[] xml)
          サーバからの戻り値をパースし、OutItemに格納する XMLをパースしたくない場合などはこのメソッドを上書きして取得したデータ(byte[] xml)を任意のITEMに格納してください。
 
クラス jp.ne.mki.wedge.rule.base.AbstractClient から継承されたメソッド
executeCurrentAfter, executeRule, executeRule, getAdapterName, getClientRuleObject, getCodeBase, getComponent, getComponent, getComponents, getConfig, getConfImagePath, getContentPane, getCurrentComponent, getDesktop, getExecuteIndex, getExecuteParameter, getExecuteTiming, getExecutions, getExpectNextComponent, getFrame, getFrameRunner, getImageIcon, getInItem, getInItem, getItems, getLogicClassType, getManager, getMemory, getOutItem, getOutItem, getParameter, getReturnString, getRevision, isApplet, isApplication, isClientTraceMode, isConpiled, isJWS, isServerTraceMode, isWeb, log, loopInItem, loopInItemSub, loopInOutItem, loopInOutItemSub, loopOutItem, loopOutItemSub, setEngineManager, setErrorMessageMustInComp, setErrorMessageMustOutComp, setExecuteParameter, setFocus, setFocus, setFocus, setFrameRunnerErrorStatus, setPropertyFromEngine, setStatusBarText, showDocument, showErrorDialog, showFrame, showFrame, showFrame, showFrame, terminate, writeErrorLog, writeErrorLog, writeErrorLog, writeTraceLog
 
クラス jp.ne.mki.wedge.rule.base.AbstractBase から継承されたメソッド
callDispose, checkDelegate, createErrorMessage, createLogicErrorLogRecord, createLogicExceptionLogRecord, createLogicLogRecord, dataClearOfOutRecord, dataClearOfRecord, dispose, getAppAccount, getAppAuthority, getAppMenu, getAppPassword, getClassErrorName, getClientId, getConnectionId, getConnectionPoolId, getConstantKeys, getConstantValue, getConstantValueAsStringArray, getControlRecord, getDbAccessCount, getDbErrorCode, getDbErrorMessage, getDbStatus, getDbUpdatedRecordCount, getEngineManager, getErrorMessage, getErrorMessage, getErrorMessage, getExceptionMessage, getExecuteType, getId, getInputRecordIterator, getInRecord, getInRecord, getInRecord, getInRecordCount, getInRecordList, getIpAddress_G_Index, getIpAddress_P_Index, getLogicalErrorName, getLogicalName, getLogicClassDelegate, getOutputHtml, getOutputRecordIterator, getOutRecord, getOutRecord, getOutRecord, getOutRecordCount, getOutRecordList, getPhysicalErrorName, getPhysicalName, getProjectId, getQueryEndLine, getQueryMaxCount, getQueryPageCount, getQueryStartLine, getRowSize, getRowSizeOfInRecord, getRuleParameter, getRuleParameters, getRuleParameters, getRuleParameters, getRuleType, getRuleTypeName, getServerMessage, getServerParameter, getServerStatus, getServerSubName, getServerSubRevision, getServerTran, getUpdateErrorLine, getUpdateTargetCount, getWebServerIpAddress, isExecutable, isJDK15, log, logDebug, logError, logError, logFatal, logFatal, logInfo, logTrace, logWarn, logWarn, loopInOutRecord, loopInOutRecordSub, loopInRecord, loopInRecordSub, loopOutRecord, loopOutRecordSub, setControlRecord, setErrorMessage, setErrorMessageMustInRecord, setErrorMessageMustOutRecord, setErrorMessageMustParamIsNumber, setExecuteType, setFatalError, setId, setInRecord, setLogicalName, setLogicClassDelegate, setOutputHtml, setOutRecord, setPhysicalName, setRuleParameter, setRuleType, setServerParameter, setUserConstant, showErrorDialog, showErrorDialogAddRuleName, writeErrorLog, writeErrorLog, writeLog, writeLog, writeLog
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース jp.ne.mki.wedge.rule.client.httpaccess.PostInterface から継承されたメソッド
getOutputString, getSendMethod, getUrl, getXPath, getXPathErrorNode, setError
 
インタフェース jp.ne.mki.wedge.rule.base.interfaces.CommonInterface から継承されたメソッド
dispose, getAppAccount, getAppAuthority, getAppMenu, getAppPassword, getClassErrorName, getClientId, getConnectionId, getConnectionPoolId, getDbAccessCount, getDbErrorCode, getDbErrorMessage, getDbStatus, getEngineManager, getExceptionMessage, getExecuteType, getId, getInRecord, getInRecord, getInRecord, getInRecordCount, getIpAddress_G_Index, getIpAddress_P_Index, getLogicalErrorName, getLogicalName, getOutRecord, getOutRecord, getOutRecord, getOutRecordCount, getPhysicalErrorName, getPhysicalName, getProjectId, getQueryEndLine, getQueryMaxCount, getQueryPageCount, getQueryStartLine, getRuleParameter, getRuleParameters, getRuleType, getRuleTypeName, getServerMessage, getServerParameter, getServerStatus, getServerSubName, getServerSubRevision, getServerTran, getUpdateErrorLine, getUpdateTargetCount, getWebServerIpAddress, isExecutable, logDebug, logError, logError, logFatal, logFatal, logInfo, logTrace, logWarn, logWarn, setExecuteType, setRuleType, setServerParameter, showErrorDialog, showErrorDialogAddRuleName, writeErrorLog, writeLog, writeLog
 
インタフェース jp.ne.mki.wedge.run.interfaces.RuleEngineInterface から継承されたメソッド
createLogicErrorLogRecord, createLogicExceptionLogRecord, createLogicLogRecord, getLogicClassDelegate, setControlRecord, setId, setInRecord, setLogicalName, setLogicClassDelegate, setOutRecord, setPhysicalName, setRuleParameter, setUserConstant
 

フィールドの詳細

faultString

protected java.lang.String faultString

result

int result

paramOfServerUrl

protected java.lang.String paramOfServerUrl

paramOfXslUrl

protected java.lang.String paramOfXslUrl
コンストラクタの詳細

AbstractHttpAccess

public AbstractHttpAccess()
メソッドの詳細

getIOParameter

public int getIOParameter()
IOパラメータ取得。execute の前に実行される。 このロジッククラスはクライアントのみ実行可能です。 パラメータを;にて分割し、サーバURL,xslファイルURLを取得します。

定義:
インタフェース CommonInterface 内の getIOParameter
定義:
インタフェース RuleEngineInterface 内の getIOParameter
戻り値:
int OK=処理続行、ERROR=異常終了、CANCEL=処理を中断(正常終了)

exit

public void exit()
終了処理。保持していた変数などを開放する処理を記述します。
execute の後に実行されます。
正常終了・異常終了などに関わらず必ず実行されます。

定義:
インタフェース CommonInterface 内の exit
定義:
インタフェース RuleEngineInterface 内の exit

setFaultString

public void setFaultString(java.lang.String message)
エラーダイアログに表示するメッセージを設定します。 xmlをパース後、この値にメッセージが入っている場合にはエラーダイアログとして表示します

パラメータ:
String - メッセージ文字列

execute

public int execute()
            throws java.lang.Throwable
入力引数に指定されたアイテムを物理名=値に変換しHTTP送信する

定義:
インタフェース CommonInterface 内の execute
定義:
インタフェース RuleEngineInterface 内の execute
戻り値:
int BusinessRuleの戻り値を参照
例外:
java.lang.Throwable

getHttpAccessErrorMessage

public java.lang.String getHttpAccessErrorMessage()
HttpAccess時にエラーが発生した場合にダイアログに表示するメッセージ length()=0の場合ダイアログは表示しない メッセージを任意に変えたい場合にはこのメソッドを上書きしてください。

戻り値:
String エラーメッセージ

executeXslt

public byte[] executeXslt(java.io.InputStream is,
                          int contentLength,
                          java.lang.String xslFileName)
                   throws java.lang.Throwable
サーバからの戻り値を指定のxslを使用しXslt行う xslFileNameがnullもしくは空の場合には、Xsltは行いません。

パラメータ:
InputStream - サーバから取得した値
int - サーバから取得した値の長さ
String - xslファイルURLパス
戻り値:
byte[] 変換結果のバイト配列
例外:
java.lang.Throwable

getParamOfXslUrl

public java.lang.String getParamOfXslUrl()
パラメータより取得したXSLファイルURLパスを返します。 パラメータを;にて分割した2番目の設定文字列になります。

戻り値:
String xslファイルURL

getParamOfServerUrl

public java.lang.String getParamOfServerUrl()
パラメータより取得したサーバアクセスURLパスを返します。 パラメータを;にて分割した1番目の設定文字列になります。

戻り値:
String サーバアクセスURLパス

xmlParse

public boolean xmlParse(byte[] xml)
                 throws java.lang.Throwable
サーバからの戻り値をパースし、OutItemに格納する XMLをパースしたくない場合などはこのメソッドを上書きして取得したデータ(byte[] xml)を任意のITEMに格納してください。

定義:
インタフェース PostInterface 内の xmlParse
パラメータ:
byte[] - サーバからの戻り値
戻り値:
boolean true:成功 false:失敗
例外:
java.lang.Throwable

getValueMethod

public java.lang.String getValueMethod(java.lang.String name,
                                       int position)
                                throws java.lang.Throwable
値取得方法 Node以下のどの値を取得対象にするかを設定。 CDATAの場合には空文字を返す。属性の場合には属性名を返す XPathにて属性のNodeを指定すればこのメソッドを意識する必要はありません

定義:
インタフェース PostInterface 内の getValueMethod
パラメータ:
String - Itemの物理名称
戻り値:
String 属性名
例外:
java.lang.Throwable

setItems

public final void setItems(org.w3c.dom.Document root,
                           java.util.Vector items)
                    throws java.lang.Throwable
出力Itemに値を設定する(CDATAの値を設定)

定義:
インタフェース PostInterface 内の setItems
パラメータ:
Document - ドキュメントルート
Vector - 格納するアイテム群
例外:
java.lang.Throwable

setItem

public static final void setItem(org.w3c.dom.traversal.NodeIterator nl,
                                 jp.ne.mki.wedge.run.client.data.Item item,
                                 java.lang.String attributeName)
指定のNodeIteratorの属性値からitemに値を設定する

パラメータ:
NodeIterator - itemタグ以下のNodeIterator
Item - 格納するアイテム
String - 属性名称

setItem

public static final void setItem(org.w3c.dom.traversal.NodeIterator nl,
                                 jp.ne.mki.wedge.run.client.data.Item item)
指定のNodeIteratorのCDATA値からitemに値を設定する

パラメータ:
NodeIterator - itemタグ以下のNodeIterator
Item -

getXmlView

protected final java.lang.String getXmlView(org.w3c.dom.Node nd,
                                            java.lang.StringBuffer buf)
指定のNodeをStringに展開する

パラメータ:
Node -
StringBuffer -
戻り値:
String

writeTraceLog

public final void writeTraceLog(java.lang.String message)
ログ出力

定義:
インタフェース CommonInterface 内の writeTraceLog
オーバーライド:
クラス AbstractBase 内の writeTraceLog
パラメータ:
String - 出力するメッセージ

whenBeforeHttpAccess

public boolean whenBeforeHttpAccess()
HTTPアクセスをする前の処理 サーバにアクセスする前に実行されます。 デフォルトでは何も行いません。 処理を記述する場合は上書きしてください。

戻り値:
boolean true:処理続行 false:処理キャンセル

whenNewSession

public boolean whenNewSession(boolean isFirstAccess)
新しいSessionだった場合の処理 サーバアクセス後実行されます。 デフォルトでは何も行いません。 処理を記述する場合は上書きしてください。

戻り値:
boolean true:処理続行 false:処理キャンセル

AdjustmentHttpResponseCode

public boolean AdjustmentHttpResponseCode(int code,
                                          java.io.InputStream is)
Httpレスポンスコードのチェック デフォルトでは「200」以外の場合はエラーメッセージを表示して処理を中断します。 処理を記述する場合は上書きしてください。

戻り値:
boolean true:処理続行 false:処理キャンセル

getUrlConnection

public final java.net.URLConnection getUrlConnection()
URLConnectionを取得

戻り値:
URLConnectionを取得

setResult

public final void setResult(int result)
ロジッククラス戻り値を任意に指定

パラメータ:
int - 戻り値

getCookie

public final java.lang.String getCookie()
Cookieを取得

戻り値:
String Cookie

clearCookie

public final void clearCookie()
Cookieクリア


setCookie

public final void setCookie(java.lang.String cookie)
Cookieを設定


getSendContentType

public java.lang.String getSendContentType()
送信Content-Typeを指定 空文字の場合にはContent-Typeの設定は行いません。 デフォルトでは空文字になります。 任意のContent-Typeにて送信したい場合は上書きしてください。

戻り値:
String コンテントタイプ名称

getEncodeName

public final java.lang.String getEncodeName(java.lang.String charset)
charsetからEncode名称を取得 UTF-8,ISO-8859-1,US-ASCII,ISO-8859-9,SHIFT_JIS,EUC-JPを対象にしています。 対象外ものは正しいEncode名称が返らない場合があります。

パラメータ:
String - キャラクタセット名称
戻り値:
String エンコード名称

getByte

public static byte[] getByte(java.io.InputStream is,
                             int contentLength)
                      throws java.lang.Exception
InputStreamよりバイト配列を取得

パラメータ:
InputStream - 読み込み対象のInputStream
int - InputStreamの長さ
戻り値:
byte[] バイト配列
例外:
java.lang.Exception

getResponseByLength

public static byte[] getResponseByLength(java.io.InputStream is,
                                         int length)
                                  throws java.lang.Exception
レスポンス取得:Content-Lengthが使用できる場合

パラメータ:
InputStream - 読み込み対象のInputStream
int - InputStreamの長さ
戻り値:
byte[] バイト配列
例外:
java.lang.Exception

getResponseByOutputStream

public static byte[] getResponseByOutputStream(java.io.InputStream is)
                                        throws java.lang.Exception
レスポンス取得:Content-Lengthが使用できない場合

パラメータ:
InputStream - 読み込み対象のInputStream
戻り値:
byte[] バイト配列
例外:
java.lang.Exception

setDefaultCharsetForLog

public void setDefaultCharsetForLog(java.lang.String charSet)
ログ出力のためのデフォルトCharSetを設定する 設定なしの場合(null)は、SystemのデフォルトCharsetになります。 このメソッドは Ver1.1.0のパッチより新規追加されました。

パラメータ:
charSet -

getRequestHeaderOptionalValue

public final java.util.Properties[] getRequestHeaderOptionalValue()
Manageに紐づいた OptionalDataMapから、
REQESUT_HEADERをtargetとするOptionalDataの一覧を取得し、 Propertiesの配列で返します

それぞれのPropertiesには、"key","value"の二つの項目が設定されており、
それぞれに OptionalData.getName()、OptionalData.getData()の値が
格納された形となります。

パラメータ:
URLEncode - URLエンコードを行うかどうか
戻り値:
OptionalDataをPropertiesの配列で取得

getRequestBodyOptionalValue

public final java.lang.String getRequestBodyOptionalValue()
Manageに紐づいた OptionalDataMapから、
REQESUT_BODYをtargetとするOptionalDataの一覧を取得し、 「Name=Data」の形式を「&」で結合した、文字列で返します

パラメータ:
URLEncode - URLエンコードを行うかどうか
戻り値:
OptionalDataを「Key=Name」の形式で さらに「&」で結合した文字列

getHeaderValues

public java.util.Properties[] getHeaderValues()
Http通信時にヘッダに設定する内容を String配列で取得します。
このメソッドは継承元でオーバライドして、URLConnectionに設定する
ヘッダを変更することができます。
オーバライドしなかった場合は getRequestHeaderOptionalValue() の値を
そのまま返します。

戻り値:
HttpRequestHeaderに設定するヘッダ