クラス AbstractHttpAccess

すべての実装されたインタフェース:
ClientInterface, CommonInterface, PostInterface, jp.ne.mki.wedge.run.interfaces.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
  • フィールド詳細

    • faultString

      protected String faultString
    • result

      int result
    • paramOfServerUrl

      protected String paramOfServerUrl
    • paramOfXslUrl

      protected String paramOfXslUrl
  • コンストラクタの詳細

    • AbstractHttpAccess

      public AbstractHttpAccess()
  • メソッドの詳細

    • getIOParameter

      public int getIOParameter()
      IOパラメータ取得。execute の前に実行される。 このロジッククラスはクライアントのみ実行可能です。 パラメータを;にて分割し、サーバURL,xslファイルURLを取得します。
      定義:
      getIOParameter インタフェース内 CommonInterface
      定義:
      getIOParameter インタフェース内 jp.ne.mki.wedge.run.interfaces.RuleEngineInterface
      戻り値:
      int OK=処理続行、ERROR=異常終了、CANCEL=処理を中断(正常終了)
    • exit

      public void exit()
      終了処理。保持していた変数などを開放する処理を記述します。
      execute の後に実行されます。
      正常終了・異常終了などに関わらず必ず実行されます。
      定義:
      exit インタフェース内 CommonInterface
      定義:
      exit インタフェース内 jp.ne.mki.wedge.run.interfaces.RuleEngineInterface
    • setFaultString

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

      public int execute() throws Throwable
      入力引数に指定されたアイテムを物理名=値に変換しHTTP送信する
      定義:
      execute インタフェース内 CommonInterface
      定義:
      execute インタフェース内 jp.ne.mki.wedge.run.interfaces.RuleEngineInterface
      戻り値:
       int BusinessRuleの戻り値を参照
      例外:
      Throwable
    • getHttpAccessErrorMessage

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

      public byte[] executeXslt(InputStream is, int contentLength, String xslFileName) throws Throwable
      サーバからの戻り値を指定のxslを使用しXslt行う xslFileNameがnullもしくは空の場合には、Xsltは行いません。
      パラメータ:
      InputStream - サーバから取得した値
      int - サーバから取得した値の長さ
      String - xslファイルURLパス
      戻り値:
       byte[] 変換結果のバイト配列
      例外:
      Throwable
    • getParamOfXslUrl

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

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

      public boolean xmlParse(byte[] xml) throws Throwable
      サーバからの戻り値をパースし、OutItemに格納する XMLをパースしたくない場合などはこのメソッドを上書きして取得したデータ(byte[] xml)を任意のITEMに格納してください。
      定義:
      xmlParse インタフェース内 PostInterface
      パラメータ:
      byte - [] サーバからの戻り値
      戻り値:
       boolean true:成功 false:失敗
      例外:
      Throwable
    • getValueMethod

      public String getValueMethod(String name, int position) throws Throwable
      値取得方法 Node以下のどの値を取得対象にするかを設定。 CDATAの場合には空文字を返す。属性の場合には属性名を返す XPathにて属性のNodeを指定すればこのメソッドを意識する必要はありません
      定義:
      getValueMethod インタフェース内 PostInterface
      パラメータ:
      String - Itemの物理名称
      戻り値:
       String 属性名
      例外:
      Throwable
    • setItems

      public final void setItems(Document root, Vector items) throws Throwable
      出力Itemに値を設定する(CDATAの値を設定)
      定義:
      setItems インタフェース内 PostInterface
      パラメータ:
      Document - ドキュメントルート
      Vector - 格納するアイテム群
      例外:
      Throwable
    • setItem

      public static final void setItem(NodeIterator nl, jp.ne.mki.wedge.run.client.data.Item item, String attributeName)
      指定のNodeIteratorの属性値からitemに値を設定する
      パラメータ:
      NodeIterator - itemタグ以下のNodeIterator
      Item - 格納するアイテム
      String - 属性名称
    • setItem

      public static final void setItem(NodeIterator nl, jp.ne.mki.wedge.run.client.data.Item item)
      指定のNodeIteratorのCDATA値からitemに値を設定する
      パラメータ:
      NodeIterator - itemタグ以下のNodeIterator
      Item -
    • getXmlView

      protected final String getXmlView(Node nd, StringBuffer buf)
      指定のNodeをStringに展開する
      パラメータ:
      Node -
      StringBuffer -
      戻り値:
      String
    • writeTraceLog

      public final void writeTraceLog(String message)
      ログ出力
      定義:
      writeTraceLog インタフェース内 CommonInterface
      オーバーライド:
      writeTraceLog クラス内 AbstractBase
      パラメータ:
      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, InputStream is)
      Httpレスポンスコードのチェック デフォルトでは「200」以外の場合はエラーメッセージを表示して処理を中断します。 処理を記述する場合は上書きしてください。
      戻り値:
       boolean true:処理続行 false:処理キャンセル
    • getUrlConnection

      public final URLConnection getUrlConnection()
      URLConnectionを取得
      戻り値:
       URLConnectionを取得
    • setResult

      public final void setResult(int result)
      ロジッククラス戻り値を任意に指定
      パラメータ:
      int - 戻り値
    • getCookie

      public final String getCookie()
      Cookieを取得
      戻り値:
       String Cookie
    • clearCookie

      public final void clearCookie()
      Cookieクリア
    • setCookie

      public final void setCookie(String cookie)
      Cookieを設定
    • getSendContentType

      public String getSendContentType()
      送信Content-Typeを指定 空文字の場合にはContent-Typeの設定は行いません。 デフォルトでは空文字になります。 任意のContent-Typeにて送信したい場合は上書きしてください。
      戻り値:
      String コンテントタイプ名称
    • getEncodeName

      public final String getEncodeName(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(InputStream is, int contentLength) throws Exception
      InputStreamよりバイト配列を取得
      パラメータ:
      InputStream - 読み込み対象のInputStream
      int - InputStreamの長さ
      戻り値:
      byte[] バイト配列
      例外:
      Exception
    • getResponseByLength

      public static byte[] getResponseByLength(InputStream is, int length) throws Exception
      レスポンス取得:Content-Lengthが使用できる場合
      パラメータ:
      InputStream - 読み込み対象のInputStream
      int - InputStreamの長さ
      戻り値:
      byte[] バイト配列
      例外:
      Exception
    • getResponseByOutputStream

      public static byte[] getResponseByOutputStream(InputStream is) throws Exception
      レスポンス取得:Content-Lengthが使用できない場合
      パラメータ:
      InputStream - 読み込み対象のInputStream
      戻り値:
      byte[] バイト配列
      例外:
      Exception
    • setDefaultCharsetForLog

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

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

      それぞれのPropertiesには、"key","value"の二つの項目が設定されており、
      それぞれに OptionalData.getName()、OptionalData.getData()の値が
      格納された形となります。
      パラメータ:
      URLEncode - URLエンコードを行うかどうか
      戻り値:
      OptionalDataをPropertiesの配列で取得
    • getRequestBodyOptionalValue

      public final String getRequestBodyOptionalValue()
      Manageに紐づいた OptionalDataMapから、
      REQESUT_BODYをtargetとするOptionalDataの一覧を取得し、 「Name=Data」の形式を「入力が無効です: '&'」で結合した、文字列で返します
      パラメータ:
      URLEncode - URLエンコードを行うかどうか
      戻り値:
      OptionalDataを「Key=Name」の形式で さらに「入力が無効です: '&'」で結合した文字列
    • getHeaderValues

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