付録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"); } }