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