Hitachi

TP1/COBOL adapter for Cosminexus ユーザーズガイド


付録E.4 TP1/COBOL SOAPサービスクラス生成機能ソースイメージの生成例

〈この項の構成〉

(1) SOAPサーバ上のJava UAPを呼び出すスケルトンクラスの生成例

TP1/COBOL SOAPサーバ用クラス生成ウィザード」を使用して自動生成したスケルトンクラスの例を次に示します。

package パッケージ名;
 
import javax.xml.rpc.holders.*;
 
public class クラス名 {
/*
 *Generated by TP1/COBOL adapter for Cosminexus Version 2 02-08
 *DO NOT EDIT THIS FILE
 *2005/07/06
 */
  // 入力引数最大長
  public static final int inMaxSize  = 204;
  // 出力引数最大長
  public static final int outMaxSize = 254;
 
  public void メソッド名(byte[] inData,
    ByteArrayHolder outData) throws Exception {
    try{
      呼び出すJavaプログラムのクラス名 uap = new 呼び出すJavaプログラムのクラス名();
      outData.value = uap.呼び出すJavaプログラムのメソッド名(inData);
    }catch(Exception e) {
      e.printStackTrace();
      throw e;
    }
  }
}
注:橙色の部分はウィザードで指定した名前になります。

スケルトンクラスの引数は,inDataおよびoutDataで固定の名称となります。

(2) TP1/COBOL SOAPサーバ用Beanの生成例

TP1/COBOL SOAPサーバ用クラス生成ウィザード」を使用して自動生成したBeanの例を次に示します。

package パッケージ名;
 
import jp.co.hitachi_sk.j2cb.*;
 
public class クラス名SBean extends TP1SOAPSV {
/*
 *Generated by TP1/COBOL adapter for Cosminexus Version 2 02-08
 *DO NOT EDIT THIS FILE
 *2005/07/06
 */
  private static boolean noload = true;
  //入力項目
  protected static final int inIndex = 0;
  protected static GroupAccess myInGroup = null;
  //出力項目
  protected static final int outIndex = 1;
  protected static GroupAccess myOutGroup = null;
/**
 *コンストラクタ
 */
  public クラス名SBean() throws J2CBException {
    super();
    //データアクセスのための情報を設定
    setInSize(204);
    setInLvl("01,05,05,05,05");
    setInName("personal_data_in,p_number,p_name,p_address,p_gif");
    setInType("G,UI0900,C(50),C(100),C(50)");
    setInAddress("0,0,4,54,154");
    setOutSize(254);
    setOutLvl("01,05,05,05,05");
    setOutName("personal_data_out,p_number,p_name,p_address,p_gif");
    setOutType("G,UI0900,C(50),C(100),C(100)");
    setOutAddress("0,0,4,54,154");
    init();
  }
/**
 *初期化処理
 */
  private void init( ) throws J2CBException {
    //初期ロードのみ実行する
    if (noload) {
      init2();
    }
    else {
      setInformation(myInGroup, myOutGroup);
    }
  }
/**
 *初期化処理2
 */
  private synchronized void init2( ) throws J2CBException {
    if (noload) {
      makeGroupAccess();
      myInGroup = inGroup;
      myOutGroup = outGroup;
      noload = false;
    }
    else {
      setInformation(myInGroup, myOutGroup);
    }
  }
  //入力項目用メソッド
/**
 *p_numberI設定メソッド
 *@param p_numberI Integerオブジェクト
 *@return void
 */
  public void setP_numberI( Object p_numberI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_number", p_numberI);
  }
/**
 *p_nameI設定メソッド
 *@param p_nameI Stringオブジェクト
 *@return void
 */
  public void setP_nameI( Object p_nameI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_name", p_nameI);
  }
/**
 *p_addressI設定メソッド
 *@param p_addressI Stringオブジェクト
 *@return void
 */
  public void setP_addressI( Object p_addressI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_address", p_addressI);
  }
/**
 *p_gifI設定メソッド
 *@param p_gifI Stringオブジェクト
 *@return void
 */
  public void setP_gifI( Object p_gifI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_gif", p_gifI);
  }
/**
 *p_numberI取得メソッド
 *@return Integerオブジェクト
 */
  public Object getP_numberI( ) throws J2CBException {
    return getOutData(inIndex, "personal_data_in.p_number");
  }
/**
 *p_nameI取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_nameI( ) throws J2CBException {
    return getOutData(inIndex, "personal_data_in.p_name");
  }
/**
 *p_addressI取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_addressI( ) throws J2CBException {
    return getOutData(inIndex, "personal_data_in.p_address");
  }
/**
 *p_gifI取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_gifI( ) throws J2CBException {
    return getOutData(inIndex, "personal_data_in.p_gif");
  }
  //出力項目用メソッド
/**
 *p_numberO設定メソッド
 *@param p_numberO Integerオブジェクト
 *@return void
 */
  public void setP_numberO( Object p_numberO) throws J2CBException {
    setInData(outIndex, "personal_data_out.p_number", p_numberO);
  }
/**
 *p_nameO設定メソッド
 *@param p_nameO Stringオブジェクト
 *@return void
 */
  public void setP_nameO( Object p_nameO) throws J2CBException {
    setInData(outIndex, "personal_data_out.p_name", p_nameO);
  }
/**
 *p_addressO設定メソッド
 *@param p_addressO Stringオブジェクト
 *@return void
 */
  public void setP_addressO( Object p_addressO) throws J2CBException {
    setInData(outIndex, "personal_data_out.p_address", p_addressO);
  }
/**
 *p_gifO設定メソッド
 *@param p_gifO Stringオブジェクト
 *@return void
 */
  public void setP_gifO( Object p_gifO) throws J2CBException {
    setInData(outIndex, "personal_data_out.p_gif", p_gifO);
  }
/**
 *p_numberO取得メソッド
 *@return Integerオブジェクト
 */
  public Object getP_numberO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_number");
  }
/**
 *p_nameO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_nameO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_name");
  }
/**
 *p_addressO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_addressO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_address");
  }
/**
 *p_gifO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_gifO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_gif");
  }
}

注:橙色の部分はウィザードで指定した名前になります。

(3) TP1/COBOL SOAPクライアント用Beanの生成例

TP1/COBOL SOAPクライアント用Bean生成ウィザード」を使用して自動生成したBeanの例を次に示します。

package パッケージ名;
 
import jp.co.hitachi_sk.j2cb.*;
 
public class クラス名CBean extends TP1SOAPCLT {
/*
 *Generated by TP1/COBOL adapter for Cosminexus Version 2 02-08
 *DO NOT EDIT THIS FILE
 *2005/07/06
 */
  private static boolean noload = true;
  //入力項目
  protected static final int inIndex = 0;
  protected static GroupAccess myInGroup = null;
  //出力項目
  protected static final int outIndex = 1;
  protected static GroupAccess myOutGroup = null;
/**
 *コンストラクタ
 */
  public クラス名CBean() throws J2CBException {
    super();
    //データアクセスのための情報を設定
    setInSize(204);
    setInLvl("01,05,05,05,05");
    setInName("personal_data_in,p_number,p_name,p_address,p_gif");
    setInType("G,UI0900,C(50),C(100),C(50)");
    setInAddress("0,0,4,54,154");
    setOutSize(254);
    setOutLvl("01,05,05,05,05");
    setOutName("personal_data_out,p_number,p_name,p_address,p_gif");
    setOutType("G,UI0900,C(50),C(100),C(100)");
    setOutAddress("0,0,4,54,154");
    init();
  }
/**
 *初期化処理
 */
  private void init( ) throws J2CBException {
    //初期ロードのみ実行する
    if (noload) {
      init2();
    }
    else {
      setInformation(myInGroup, myOutGroup);
    }
  }
/**
 *初期化処理2
 */
  private synchronized void init2( ) throws J2CBException {
    if (noload) {
      makeGroupAccess();
      myInGroup = inGroup;
      myOutGroup = outGroup;
      noload = false;
    }
    else {
      setInformation(myInGroup, myOutGroup);
    }
  }
  //入力項目用メソッド
/**
 *p_numberI設定メソッド
 *@param p_numberI Integerオブジェクト
 *@return void
 */
  public void setP_numberI( Object p_numberI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_number", p_numberI);
  }
/**
 *p_nameI設定メソッド
 *@param p_nameI Stringオブジェクト
 *@return void
 */
  public void setP_nameI( Object p_nameI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_name", p_nameI);
  }
/**
 *p_addressI設定メソッド
 *@param p_addressI Stringオブジェクト
 *@return void
 */
  public void setP_addressI( Object p_addressI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_address", p_addressI);
  }
/**
 *p_gifI設定メソッド
 *@param p_gifI Stringオブジェクト
 *@return void
 */
  public void setP_gifI( Object p_gifI) throws J2CBException {
    setInData(inIndex, "personal_data_in.p_gif", p_gifI);
  }
  //出力項目用メソッド
/**
 *p_numberO取得メソッド
 *@return Integerオブジェクト
 */
  public Object getP_numberO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_number");
  }
/**
 *p_nameO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_nameO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_name");
  }
/**
 *p_addressO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_addressO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_address");
  }
/**
 *p_gifO取得メソッド
 *@return Stringオブジェクト
 */
  public Object getP_gifO( ) throws J2CBException {
    return getOutData(outIndex, "personal_data_out.p_gif");
  }
}