6.1. 外部連携サンプルプログラム(JAVA)¶
6.1.2. サンプルプログラムのダウンロード¶
サンプルプログラムは以下のリンクより入手できます。
サンプルプログラム
データソース定義
IM-Workflow定義
IM-Forma定義
IM-BIS定義
6.1.3. サンプルプログラムのインポート¶
ダウンロードしたファイルは、下記手順にてインポートすることができます。
IM-Jugglingを起動し、Jugglingプロジェクト内にあるjuggling.imを IM-Juggling Editorで開きます。
「ユーザモジュール」タブを選択し、右上にある「+」のアイコンをクリックします。
ダウンロードした「 sampleJava-1.0.0.imm 」ファイルを選択します。
Jugglingプロジェクトからwarファイルを作成します。サンプルを含めるにチェックを入れます。
コラム
warファイルの作成については、「 intra-mart Accel Platform セットアップガイド 」 - 「 WARファイルの作成 」を参照してください。 作成したWARファイルを、 Web Application Server ( Resin ) 上にデプロイ(展開)します。注意
「BIS管理者」ロールを付与したユーザでインポートを実施してください。注意
IM-Workflow定義のインポートでは、zipファイルを解凍し、xmlファイルをインポートしてください。 ダウンロードしたファイルをインポートします。インポート方法は、「 IM-BIS 業務管理者操作ガイド 」 - 「 インポート・エクスポートを行う 」を参照してください。 「IM-Workflow ユーザ」ロールを付与したユーザでログインします。 [サイトマップ] - [ワークフロー] - [申請] - 「外部連携サンプル(JAVA)」の「申請/処理開始」をクリックします。 テキストボックスにユーザIDを入力し、「ユーザ情報取得ボタン」をクリックします。
6.1.4. サンプルプログラムのコード¶
サンプルプログラムで使用するコードは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 package jp.co.intra_mart.system.bis.soa.func; import java.math.BigDecimal; import java.util.*; import javax.swing.JFrame; import javax.swing.JOptionPane; import jp.co.intra_mart.foundation.context.Contexts; import jp.co.intra_mart.foundation.context.model.AccountContext; import jp.co.intra_mart.foundation.exception.BizApiException; import jp.co.intra_mart.foundation.master.user.UserManager; import jp.co.intra_mart.foundation.master.user.model.*; public class SampleJava { public SampleJava(){ } private AccountContext getAccountContext(){ return (AccountContext)Contexts.get(AccountContext.class); } //Exceptionにthrowsすることで、Java連携の外部連携としてエラー処理されます public List<Map<String,Object>> sample(Map<String,Object> map) throws Exception{ //レスポンスフィールド生成 List<Map<String,Object>> resUserList = new ArrayList<Map<String,Object>>(); Map<String,Object> detail; //リクエストパラメータ取得 String reqUserList = map.get("userList").toString(); //リクエストパラメータの文字列を配列に変換 String[] userCdArray = reqUserList.split(","); //トリミング実施 for(int i = 0; i < userCdArray.length; i++){ userCdArray[i] = userCdArray[i].trim(); } for(int i = 0; i < userCdArray.length; i++){ //ユーザ情報取得 IUserBizKey userBizKey = new UserBizKey(); userBizKey.setUserCd(userCdArray[i]); UserManager manager = new UserManager(); User user = manager.getUser(userBizKey, getAccountContext().getLoginTime()); if(user != null){ //ユーザIDが存在する場合 detail = new HashMap<String,Object>(); //レスポンスパラメータにユーザ情報を設定する detail.put("user", user.getUserCd()); detail.put("userName", user.getUserName()); detail.put("startDate", user.getStartDate()); detail.put("sortKey", BigDecimal.valueOf(user.getSortKey())); detail.put("deleteFlag", user.isDisable()); resUserList.add(detail); } else{ //ユーザIDが存在しない場合 detail = new HashMap<String,Object>(); //レスポンスパラメータを設定する detail.put("user", "ユーザIDがありません"); detail.put("userName", null); detail.put("startDate", null); detail.put("sortKey", null); detail.put("deleteFlag", null); resUserList.add(detail); } } return resUserList; } }
コラム
外部連携(JAVA)の詳細な仕様については、「 IM-BIS 仕様書 」 - 「 IM-BIS で外部連携として利用できるJavaプログラムの仕様 」を参照してください。
コラム
外部連携(JAVA)へのリクエスト、レスポンスの設定方法については、「 IM-BIS システム管理者操作ガイド 」 - 「 リクエストパラメータ、レスポンスフィールドの機能と各部の説明 」を参照してください。
階層化したリクエスト、レスポンスを設定する場合は、「 IM-BIS システム管理者操作ガイド 」 - 「 階層化したリクエストパラメータ、レスポンスフィールドの設定方法 」を参照してください。
コラム
外部連携の設定方法については、「 IM-BIS 業務管理者操作ガイド 」 - 「 外部連携を設定する 」を参照してください。