4.7. CORBA, EJBゲートウェイ

CORBAゲートウェイとEJBゲートウェイが提供しているインタフェースは次の4つに分類されます。

[CORBAゲートウェイ用]
1. WebOTX.Bridgeモジュール (旧名:クライアントAPI)
2. StandardCall (旧名:クライアントAPI互換)
3. Transaction Service

[EJBゲートウェイ用]
4. J2EE.Bridgeモジュール

Visual Basicのバージョン毎に仕様が異なる場合、Visual Basic 6.0以前は [VB6.0] 、Visual Basic.NET以降は [VB.NET] と分けて説明します。

4.7.1. WebOTX.Bridgeモジュール

ここでは、CORBAゲートウェイで使用する WebOTX.BridgeモジュールのAPIについて説明します。

推奨されていないAPI

CORBAゲートウェイのAPIを利用するには、オブジェクトライブラリを使用する必要があります。 以下に使用する環境に応じた、オブジェクトライブラリの生成方法を説明します。

  1. Visual Basic6.0からクライアントAPIを利用する
    オブジェクトライブラリを生成するには、Newメソッド または、CreateObjectを使用します。

    オブジェクト名 WebOTX.Bridge
    使用方法1
    Dim Bridge As WebOTX.Bridge
    Set Bridge = New WebOTX.Bridge
    Bridge.TPSUserTrace 5, "処理開始"
    Set Bridge = Nothing
    
    使用方法2
    Dim Bridge As Object
    Set Bridge = CreateObject("WebOTX.Bridge")
    Bridge.TPSUserTrace 5, "処理開始"
    Set Bridge = Nothing
    


  2. Visual Basic.NETからクライアントAPIを利用する
    オブジェクトライブラリを生成するには、Newメソッド または、CreateObjectを使用します。

    オブジェクト名 WebOTX.Bridge
    使用方法1
    Dim Bridge As WebOTX.Bridge
    Bridge = New WebOTX.Bridge
    Bridge.TPSUserTrace(5, "処理開始")
    Bridge = Nothing
    
    使用方法2
    Dim Bridge As Object
    Bridge = CreateObject("WebOTX.Bridge")
    Bridge.TPSUserTrace(5, "処理開始")
    Bridge = Nothing
    


  3. Active Server PagesからクライアントAPIを利用する
    オブジェクトライブラリを生成するには、Serverオブジェクトの CreateObjectを使用します。

    オブジェクト名 WebOTX.Bridge
    使用方法
    Dim Bridge
    Set Bridge = Server.CreateObject("WebOTX.Bridge")
    Bridge.TPSUserTrace 5,"Trace"
    Set Bridge = Nothing
    




AliveCheck

○ クライアント管理ライブラリの無通信監視機能の設定

形 式 Function AliveCheck(sw As Boolean) As Boolean
機 能 無通信監視機能の有無を指定します。
引 数
sw
True
無通信監視機能を使用します。
False
無通信監視機能を使用しません(既定値)。
戻り値
True
設定成功
False
設定失敗
使用例
Dim Bridge As WebOTXBridge
Set Bridge = New WebOTX.Bridge
Call Bridge.AliveCheck(True)


AsyncMessage

○ クライアント管理ライブラリの非同期メッセージ機能の設定

形 式 Function AsyncMessage(sw As Boolean) As Boolean
機 能 非同期メッセージ機能の有無を指定します。
無通信監視機能を使用する場合のみ反映されるため、先に AliveCheckをTrueで呼び出す必要があります。
引 数
sw
True
非同期メッセージ機能を使用します。
False
非同期メッセージ機能を使用しません(既定値)。
戻り値
True
設定成功
False
設定失敗
使用例
Dim Bridge As WebOTX.Bridge
Set Bridge = New WebOTX.Bridge
Call Bridge.AliveCheck(True)    '無通信監視機能を使用する
Call Bridge.AsyncMessage(True)  '非同期メッセージ機能を使用する


CreateType

○ 構造体の生成

形 式 Function CreateType(Name As String) As Object
機 能 指定したstruct型のオブジェクトを生成します。
引 数 生成する構造体を次の形式で指定します。
インターフェース名::struct名
戻り値 生成したstruct型のオブジェクト
使用例
Dim Bridge As WebOTX.Bridge
Dim Person As Object

Set Bridge = New WebOTX.Bridge
Set Person = Bridge.CreateType("jinji::person")


SetNameServiceGroup

○ 名前サービス登録グループ名の設定

形 式 Sub SetNameServiceGroup(Name As String)
機 能 推奨されていません。

WebOTXではコンポーネント毎に名前サーバ登録名を設定することができます。
名前サーバ登録名の既定値に含まれる "WO_Default"の部分がグループ名に相当します。
複数のサーバで構成されるシステムの場合、このグループ名を変更して登録することにより、任意のサーバをグルーピングすることができます。
クライアントはこのグループ名を指定することにより、アクセスするサーバのグループを選択することができます。

名前サーバ登録名は運用管理ツールで設定します。 詳細については、[ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.7. 設定詳細 > 7.1.7.4. 名前サーバへの登録]を参照してください。

既定値は "WO_Default"です。既定値を変更するにはレジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
Name
名前サービス登録グループ名
戻り値 なし


SetNameServiceHostList

○ 名前サーバホスト名の設定

形 式 Sub SetNameServiceHostList(namelist As String)
機 能 名前サーバのホスト名を設定します。
キャッシュ名前サービス機能を使用する場合、多重化する名前サーバを設定します。
引 数
namelist
名前サーバのホスト名(:ポート番号)をカンマ","で区切って指定
例)  SetNameServiceHostList("host1,host2,host3")

IPv6形式のIPアドレスを直接指定する場合は、アドレスの両端を角括弧([ ])で囲むようにしてください。
戻り値 なし


SetServerVersion

○ サーバコンポーネントバージョンの設定

形 式 [VB6.0]
Function SetServerVersion(version As Long) As Long
[VB.NET]
Function SetServerVersion(ByVal version As Integer) As Integer
機 能 推奨されていません。

WebOTXではコンポーネント毎に名前サーバ登録名を設定することができます。
名前サーバ登録名の既定値に含まれる最後の数字の "1" がバージョン番号に相当します。
複数のバージョンで構成されるシステムの場合、このバージョン番号を変更することにより、バージョン毎に異なる名前で登録することができます。
クライアントはこのバージョン番号を指定することにより、アクセスするバージョンを選択することができます。

名前サーバ登録名は運用管理ツールで設定します。 詳細については、[ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.7. 設定詳細 > 7.1.7.4. 名前サーバへの登録]を参照してください。

既定値は "1"です。
引 数
version
コンポーネントバージョン番号
戻り値 変更前のコンポーネントバージョン番号


SetTimeout

○ オペレーションのタイムアウト値の変更

形 式 [VB6.0]
Function SetTimeout(timeout As Long) As Long
[VB.NET]
Function SetTimeout(ByVal timeout As Integer) As Integer
機 能 オペレーションのタイムアウト時間を秒単位で設定します。既定値は30秒です。
高負荷時を考慮して10秒以下は設定しないでください。
この設定は ObjectBrokerの RequestTimeoutより優先されます。
引 数
timeout
タイムアウト値を秒単位で指定します。
処理が戻るまで待つ場合は0を指定します。
戻り値 変更前のタイムアウト値(秒)


StartTrace

○ ユーザトレースの設定変更

形 式 [VB6.0]
Sub StartTrace(Name As String, level As Integer)
[VB.NET]
Sub StartTrace(ByVal Name As String, ByVal level As Short)
機 能 ユーザトレースのファイル名と記録するトレースレベルを変更します。本APIはトレースファイルを上書きします。本APIを使用しない場合、出力先は作業フォルダ(カレントディレクトリ)の orbclbrg.log、トレースレベルは 5です。出力先のディレクトリを変更する場合は、ファイル名をフルパスで指定してください。
引 数
Name
トレースファイル名(既定値: orbclbrg.log)
255文字以内の文字列を設定します。
level
記録するトレースレベル(既定値: 5)
1
即時に訂正すべき状態
2
致命的なエラー
3
一般的なエラー
4
警告メッセージ
5
通知メッセージ
6
情報メッセージ(運行履歴用)
7
デバッグメッセージ(障害解析時)
戻り値 なし


StopTrace

○ ユーザトレースの出力停止

形 式 Sub StopTrace()
機 能 ユーザトレースの出力を停止します。
引 数 なし
戻り値 なし


TPSUserTrace

○ ユーザトレースの出力

形 式 [VB6.0]
Sub TPSUserTrace(level As Long, msg As String)
[VB.NET]
Sub TPSUserTrace(ByVal level As Integer, ByVal msg As String)
機 能 ユーザトレースをトレースに出力します。指定したトレースレベルが記録するトレースレベル以下の場合、トレースに出力します。記録するトレースレベルの既定値は 5です。
記録するトレースレベルを変更するには、ユーザトレースの設定を変更するAPI(StartTrace)を使用するか、レジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
level
出力メッセージのトレースレベル
1
即時に訂正すべき状態
2
致命的なエラー
3
一般的なエラー
4
警告メッセージ
5
通知メッセージ
6
情報メッセージ(運行履歴用)
7
デバッグメッセージ(障害解析時)
msg
トレースファイルに出力する文字列
戻り値 なし


4.7.2. StandardCall

従来形式のVisual Basic 6.0用のインタフェースです。

ここで説明するAPIは WebOTX Developer (for CORBA Application) をインストールしたディレクトリ内の \dev\Include\wotxexps.bas ファイルに定義されています。

推奨されていないAPI


SetCacheFlag

○ オブジェクトキャッシュの設定

形 式 [VB6.0]
Declare Sub SetCacheFlag Lib "orbclbrg.dll" (ByVal flag As Boolean)
[VB.NET]
Imports System.Runtime.InteropServices
Declare Sub SetCacheFlag Lib "orbclbrg.dll" _
(<MarshalAs(UnmanagedType.VariantBool)> ByVal flag As Boolean)
機 能 CORBAゲートウェイのキャッシュ機能を利用するか否かを設定します。
CORBAゲートウェイは、作成したオブジェクトをキャッシュ化して、2度目以降のオブジェクト作成時間を短縮する「キャッシュ機能」を提供しています。キャッシュ化されたオブジェクトは、クライアントAPが終了するまで有効です。しかし、「キャッシュ機能」を使用すると負荷分散は行われません。WebOTXサーバが2台以上存在する場合は、キャッシュ化機能をOFFにする必要があります。

VBアプリケーションから使用する場合の既定値は「キャッシュ機能を使用する」で、ASPから使用した場合の既定値は「キャッシュ化機能を使用しない」です。既定値を変更するにはレジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
flag
True
キャッシュ化機能を使用します(VBの既定値)。
False
キャッシュ化機能を使用しません(ASPの既定値)。
戻り値 なし


SetFactoryFlag

○ ファクトリ使用の設定

形 式 [VB6.0]
Declare Function SetFactoryFlag Lib "orbclbrg.dll" _
(ByVal flag As Boolean) As Boolean
[VB.NET]
Imports System.Runtime.InteropServices
Declare Function SetFactoryFlag Lib "orbclbrg.dll" _
(<MarshalAs(UnmanagedType.VariantBool)> ByVal flag As Boolean) As Boolean
機 能 オブジェクト作成時にファクトリを使用するか否かを設定します。
「ファクトリなし(ファクトリレス)」のサーバオブジェクトを「ファクトリを使用しない」の設定で生成した場合、生成時のパフォーマンスが向上します(通信回数が2回→1回になります)。
逆に「ファクトリあり」のサーバオブジェクトを「ファクトリを使用しない」の設定で生成した場合、生成時のパフォーマンスが下がります(通信回数が2回→3回になります)。

既定値は「ファクトリが有効の場合は使用する」です。既定値を変更するにはレジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
flag
True
ファクトリが有効の場合は使用します(既定値)。
False
ファクトリを使用しません。
戻り値 変更前の設定値


SetNameServiceGroup

○ 名前サービス登録グループ名の設定

形 式 Declare Sub SetNameServiceGroup Lib "orbclbrg.dll" (ByVal group As String)
機 能 WebOTXではコンポーネント毎に名前サーバ登録名を設定することができます。
名前サーバ登録名の既定値に含まれる "WO_Default"の部分がグループ名に相当します。
複数のサーバで構成されるシステムの場合、このグループ名を変更して登録することにより、任意のサーバをグルーピングすることができます。
クライアントはこのグループ名を指定することにより、アクセスするサーバのグループを選択することができます。

名前サーバ登録名は運用管理ツールで設定します。 詳細については、[ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.7. 設定詳細 > 7.1.7.4. 名前サーバへの登録]を参照してください。

既定値は "WO_Default"です。既定値を変更するにはレジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
group
名前サービス登録グループ名
戻り値 なし


SetNameServiceHostList

○ 名前サーバホスト名の設定

形 式 Declare Sub SetNameServiceHostList Lib "orbclbrg.dll" _
(ByVal hostlist As String)
機 能 名前サーバのホスト名を設定します。
キャッシュ名前サービス機能を使用する場合、多重化する名前サーバを設定します。
引 数
hostlist
名前サーバのホスト名(:ポート番号)をカンマ","で区切って指定
例)  SetNameServiceHostList("host1,host2,host3")

IPv6形式のIPアドレスを直接指定する場合は、アドレスの両端を角括弧([ ])で囲むようにしてください。
戻り値 なし


SetServerVersion

○ サーバコンポーネントバージョンの設定

形 式 [VB6.0]
Declare Function SetServerVersion Lib "orbclbrg.dll" _
(ByVal version As Long) As Long
[VB.NET]
Declare Function SetServerVersion Lib "orbclbrg.dll" _
(ByVal version As Integer) As Integer
機 能 WebOTXではコンポーネント毎に名前サーバ登録名を設定することができます。
名前サーバ登録名の既定値に含まれる最後の数字の "1" がバージョン番号に相当します。
複数のバージョンで構成されるシステムの場合、このバージョン番号を変更することにより、バージョン毎に異なる名前で登録することができます。
クライアントはこのバージョン番号を指定することにより、アクセスするバージョンを選択することができます。

名前サーバ登録名は運用管理ツールで設定します。 詳細については、[ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.7. 設定詳細 > 7.1.7.4. 名前サーバへの登録]を参照してください。

既定値は "1"です。
引 数
version
コンポーネントバージョン番号
戻り値 変更前のコンポーネントバージョン番号


SetTimeout

○ オペレーションのタイムアウト値の変更

形 式 [VB6.0]
Declare Function SetTimeout Lib "orbclbrg.dll" (ByVal timeout As Long) As Long
[VB.NET]
Declare Function SetTimeout Lib "orbclbrg.dll" (ByVal timeout As Integer) As Integer
機 能 オペレーションのタイムアウト時間を秒単位で設定します。既定値は30秒です。
高負荷時を考慮して10秒以下は設定しないでください。
この設定は ObjectBrokerの RequestTimeoutより優先されます。
引 数
timeout
タイムアウト値を秒単位で指定します。
処理が戻るまで待つ場合は0を指定します。
戻り値 変更前のタイムアウト値(秒)


StartBridgeTrace

○ ユーザトレースの設定変更

形 式 [VB6.0]
Declare Sub StartBridgeTrace Lib "orbclbrg.dll" _
(ByVal Name As String, ByVal Level As Integer)
[VB.NET]
Declare Sub StartBridgeTrace Lib "orbclbrg.dll" _
(ByVal Name As String, ByVal Level As Short)
機 能 ユーザトレースのファイル名と記録するトレースレベルを変更します。本APIはトレースファイルを上書きします。本APIを使用しない場合、出力先は作業フォルダ(カレントディレクトリ)の orbclbrg.log、トレースレベルは 5です。出力先のディレクトリを変更する場合は、ファイル名をフルパスで指定してください。
引 数
Name
トレースファイル名(既定値: orbclbrg.log)
255文字以内の文字列を設定します。
Level
記録するトレースレベル(既定値: 5)
1
即時に訂正すべき状態
2
致命的なエラー
3
一般的なエラー
4
警告メッセージ
5
通知メッセージ
6
情報メッセージ(運行履歴用)
7
デバッグメッセージ(障害解析時)
戻り値 なし


StopBridgeTrace

○ ユーザトレースの出力停止

形 式 Declare Sub StopBridgeTrace Lib "orbclbrg.dll" ()
機 能 ユーザトレースの出力を停止します。
引 数 なし
戻り値 なし


TPSUserTrace

○ ユーザトレースの出力

形 式 [VB6.0]
Declare Sub TPSUserTrace Lib "orbclbrg.dll" _
(ByVal Level As Long, ByVal Msg As String)
[VB.NET]
Declare Sub TPSUserTrace Lib "orbclbrg.dll" _
(ByVal Level As Integer, ByVal Msg As String)
機 能 ユーザトレースをトレースに出力します。指定したトレースレベルが記録するトレースレベル以下の場合、トレースに出力します。記録するトレースレベルの既定値は 5です。
記録するトレースレベルを変更するには、ユーザトレースの設定を変更するAPI(StartBridgeTrace)を使用するか、レジストリを変更してください。 レジストリの変更方法については、[アプリケーション開発ガイド(CORBA) > 2. CORBAゲートウェイ > 2.3. 環境構築と環境設定 ]を参照してください。
引 数
Level
出力メッセージのトレースレベル
1
即時に訂正すべき状態
2
致命的なエラー
3
一般的なエラー
4
警告メッセージ
5
通知メッセージ
6
情報メッセージ(運行履歴用)
7
デバッグメッセージ(障害解析時)
Msg
トレースファイルに出力する文字列
戻り値 なし


4.7.3. Transaction Service

CORBAゲートウェイは Transaction Service連携機能として、CosTransaction_Currentクラスの代表的な機能を APIで提供しています。

ここで説明するAPIは WebOTX Developer (for CORBA Application) をインストールしたディレクトリ内の \dev\Include\wotxexps.bas ファイルに定義されています。

○ CosTransaction_Currentクラス

間接的トランザクションのための機能を提供します。このクラスは疑似オブジェクトインタフェースです。


BeginTrans

形 式 Declare Function BeginTrans Lib "orbclbrg.dll" () As Boolean
機 能 スレッド上で新規のトランザクションを生成します。既にスレッド上でトランザクションが開始されている場合はそのトランザクションのサブトランザクションになります。トランザクションが開始されていない場合はトップレベルトランザクションになります。
引 数 なし
戻り値
True
成功
False
失敗


CommitTrans

形 式 Declare Function CommitTrans Lib "orbclbrg.dll" _
(ByVal report_heuristics As Boolean) As Boolean
機 能 トランザクションをコミットします。引数がTrueの場合、2フェーズコミットの完了を待ち合わせます。Falseの場合はトランザクション決定後(コミットまたはロールバック決定後)処理が戻ります。
トップレベルトランザクションのコミット完了後、そのスレッドはトランザクションを失います。サブトランザクションの場合、そのスレッドは親のトランザクションになります。
引 数 機能の項参照
戻り値
True
成功
False
失敗


GetStatusTrans

形 式 [VB6.0]
Declare Function GetStatusTrans Lib "orbclbrg.dll" () As Long
[VB.NET]
Declare Function GetStatusTrans Lib "orbclbrg.dll" () As Integer
機 能 トランザクションの状態を取得します。
引 数 なし
戻り値
00
トランザクション実行中
01
トランザクションロールバック要求済
02
トランザクションプリペア完了
03
トランザクションコミット完了
04
トランザクションロールバック完了
05
トランザクション状態不明
06
トランザクション未実行または完了
07
トランザクションプリペア中
08
トランザクションコミット中
09
トランザクションロールバック中


RollbackTrans

形 式 Declare Function RollbackTrans Lib "orbclbrg.dll" () As Boolean
機 能 スレッドに関連するトランザクションをロールバックします。トップレベルトランザクションのロールバック完了後そのスレッドはトランザクションを失います。サブトランザクションの場合そのスレッドは親のトランザクションになります。
引 数 なし
戻り値
True
成功
False
失敗


SetTimeoutTrans

形 式 [VB6.0]
Declare Function SetTimeoutTrans Lib "orbclbrg.dll" _
(ByVal timeout As Long) As Boolean
[VB.NET]
Declare Function SetTimeoutTrans Lib "orbclbrg.dll" _
(ByVal timeout As Integer) As Boolean
機 能 トランザクションのタイムアウト時間を設定します。トランザクションがbeginされてからtimeoutで指定された時間が経過すると、トランザクションは自動的にロールバックします。既定値は600秒です。
引 数
timeout
タイムアウト値を秒単位で指定します。
戻り値
True
成功
False
失敗


4.7.4. J2EE.Bridgeモジュール

ここでは、EJBゲートウェイで使用する J2EE.BridgeモジュールのAPIについて説明します。

EJBゲートウェイのAPIを利用するには J2EE.Bridgeオブジェクトを使用する必要があります。 以下に使用する環境毎に J2EE.Bridgeオブジェクトの参照を追加する方法とオブジェクトの生成方法を説明します。

  1. Visual Basic6.0から J2EE.Bridgeオブジェクトを使用する

    J2EE.Bridgeオブジェクトを使用するには、事前に参照設定の追加が必要になります。

    参照設定を追加するには、VB6.0の[プロジェクト]/[参照設定]メニューから[参照設定]ダイアログを開き、 [参照可能なライブラリファイル]から "J2EE Bridge Object Library"を選択し、[OK]ボタンを押します。

    J2EE.Bridgeオブジェクトを生成するには、次のように Newメソッドを使用します。

    オブジェクト名 J2EE.Bridge
    使用方法
    Dim J2eebr As J2EE.Bridge
    
    'J2EE.Bridgeオブジェクトの生成
    Set J2eebr = New J2EE.Bridge
    '名前サーバのURL設定
    Call J2eebr.setProviderURL("corbaname://localhost")
        :
    Set J2eebr = Nothing
    


  2. Visual Basic.NETから J2EE.Bridgeオブジェクトを使用する

    J2EE.Bridgeオブジェクトを使用するには、事前に参照設定の追加が必要になります。

    参照設定を追加するには、VB.NETの[プロジェクト]/[参照の追加]メニューから[参照の追加]ダイアログを開き、 [COM]タブ内から "J2EE Bridge Object Library"を選択し、[選択]ボタンに続けて、 [OK]ボタンを押します。

    J2EE.Bridgeオブジェクトを生成するには、次のように Newメソッドを使用します。

    オブジェクト名 J2EE.Bridge
    使用方法
    Dim J2eebr As J2EE.Bridge
    
    'J2EE.Bridgeオブジェクトの生成
    J2eebr = New J2EE.Bridge
    '名前サーバのURL設定
    J2eebr.setProviderURL("corbaname://localhost")
        :
    J2eebr = Nothing
    




getExeption

○ ユーザ定義例外オブジェクトの取得

形 式 Function J2EE.Bridge.getException(remote As Object) As Object
機 能 ユーザ定義例外のオブジェクトを取得します。

サーバ EJBにおいて、Exceptionクラスを継承したユーザ定義例外クラスをスローした場合、 VB6.0 および、VB.NETクライアントでそのクラス名とメッセージ(Message)を取得することができます。

VB6.0の On Error ステートメントで指定したエラー処理 および、VB.NETの Catchステートメントで Runtime.InteropServices.COMExceptionを検出した際に、本メソッドを使用して ユーザ定義例外のオブジェクトを取得します。

VB の TypeName関数により、ユーザ定義例外のオブジェクトからクラス名を取得することができます。
サーバ側で例外メッセージを設定している場合、ユーザ定義例外のオブジェクトの Messageプロパティで内容を参照することができます。
引 数
remote
例外が発生したリモートオブジェクト
戻り値 ユーザ定義例外オブジェクト
使用例
[VB6.0]
Private Sub Command1_Click()

    On Error GoTo Exception

    'remoteメソッドの呼び出し
    Call remote.callMethod()
    Exit Sub

Exception:
    '例外オブジェクトの取得
    Dim J2eeEx As Object
    Set J2eeEx = J2eebr.getException(remote)

    If Not J2eeEx Is Nothing Then
        'ユーザ定義例外がある場合
        Call MsgBox(J2eeEx.Message & vbCr & _
            "Class:" & TypeName(J2eeEx), vbExclamation)

        'ユーザ定義毎の処理を行う場合
        Select Case TypeName(J2eeEx)
            Case "ejbsample.UserException"
                :
            Case "ejbsample.UserException2"
                :
        End Select
    Else
        Call MsgBox(Err.Description & vbCr & _
            "Errcode:" & Hex(Err.Number), vbExclamation)
    End If
End Sub

[VB.NET]
Try
    'remoteメソッドの呼び出し
    remote.callMethod()

Catch ex As Runtime.InteropServices.COMException

    '例外オブジェクトの取得
    Dim J2eeEx As Object
    J2eeEx = J2eebr.getException(remote)

    If Not J2eeEx Is Nothing Then
        'ユーザ定義例外がある場合
        MsgBox(J2eeEx.Message & vbCr & "Class:" & TypeName(J2eeEx), _
            MsgBoxStyle.Exclamation)

        'ユーザ定義毎の処理を行う場合
        Select Case TypeName(J2eeEx)
            Case "ejbsample.UserException"
                :
            Case "ejbsample.UserException2"
                :
        End Select
    Else
        MsgBox(ex.ToString & vbCr & "Errcode:" & Hex(ex.Errorcode), _
            MsgBoxStyle.Exclamation)
    End If

Catch ex As Exception
    MsgBox(ex.ToString, MsgBoxStyle.Exclamation)
End Try


JavaNew

○ ユーザ定義型のJavaBeanオブジェクトの生成

形 式 Function J2EE.Bridge.JavaNew(ClassName As String) As Object
機 能 ユーザ定義型のJavaBeanオブジェクトを生成します。
引 数
ClassName
JavaBeanのパッケージ名付きのクラス名
戻り値 生成したユーザ定義型オブジェクト
使用例
[VB6.0]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim Beans As Object             'ユーザ定義オブジェクト
Set J2eebr = New J2EE.Bridge()
Set Beans  = j2eebr.JavaNew("ejbsample.MyData")

[VB.NET]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim Beans As Object             'ユーザ定義オブジェクト
J2eebr = New J2EE.Bridge()
Beans  = j2eebr.JavaNew("ejbsample.MyData")


lookup

○ homeオブジェクトの取得

形 式 Function J2EE.Bridge.lookup(JNDI As String, EJBHome As String) As Object
機 能 指定したhomeオブジェクトを取得します。

失敗した場合は次のような例外が発生します。
  • 名前サーバの応答がない場合
    Messageプロパティ
    名前サーバ %1 の応答がありません(%2)。
    - %1:名前サーバ
    - %2:CORBAシステム例外のマイナー番号
    Errorcodeプロパティ
    0xA1028300

  • JNDI名に対応したhomeオブジェクトを取得できない場合
    Messageプロパティ
    %1 は名前サーバ %2 から取得できません。
    - %1:JNDI名
    - %2:名前サーバ
    Errorcodeプロパティ
    0xA1028301
VB6.0の On Errorステートメントで指定したエラー処理ルーチン および、VB.NETの Catchステートメントで Runtime.InteropServices.COMExceptionを指定したスコープ内で、 これらの例外を処理することができます。
引 数
JNDI
名前サーバに登録された名称を 511文字以内で指定します。
EJBHome
EJBHomeのパッケージ名付きのクラス名(module名.interface名)を指定します。
戻り値 取得した EJBHomeオブジェクト
使用例
[VB6.0]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
Set J2eebr = New J2EE.Bridge()

'名前サーバのURL設定(ポート番号の省略時は既定値の2809)
Call J2eebr.setProviderURL("corbaname://localhost")

'homeオブジェクトの取得(JNDI名, module名.interface名)
Set home   = j2eebr.lookup("Sample", "ejbsample.SampleHome")

'remoteオブジェクトの生成
Set remote = home.create()

[VB.NET]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
J2eebr = New J2EE.Bridge()

'名前サーバのURL設定(ポート番号の省略時は既定値の2809)
J2eebr.setProviderURL("corbaname://localhost")

'homeオブジェクトの取得(JNDI名, module名.interface名)
home   = j2eebr.lookup("Sample", "ejbsample.SampleHome")

'remoteオブジェクトの生成
remote = home.create()


setProviderURL

○ 名前サーバのURL設定

形 式 Sub J2EE.Bridge.setProviderURL(URL As String)
機 能 名前サーバのURLを設定します。

ポート番号を省略した場合は既定値ポート番号(2809)が使用されます。 setProviderURLを使用しない場合は、localhostの既定値ポート番号(2809)が使用されます。
このAPIはURLを設定するだけで、URLが不正であっても例外は発生しません。 URLが不正な場合は、lookupメソッド呼び出し時に例外が発生します。
引 数
URL
名前サーバのURLを 511文字以内で "corbaname://サーバ名:ポート番号" のように指定します。
戻り値 なし
使用例
[VB6.0]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
Set J2eebr = New J2EE.Bridge()

'名前サーバのURL設定(ポート番号の省略時は既定値の2809)
Call J2eebr.setProviderURL("corbaname://localhost")

'homeオブジェクトの取得(JNDI名, module名.interface名)
Set home   = j2eebr.lookup("Sample", "ejbsample.SampleHome")

'remoteオブジェクトの生成
Set remote = home.create()

[VB.NET]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
J2eebr = New J2EE.Bridge()

'名前サーバのURL設定(ポート番号の省略時は既定値の2809)
J2eebr.setProviderURL("corbaname://localhost")

'homeオブジェクトの取得(JNDI名, module名.interface名)
home   = j2eebr.lookup("Sample", "ejbsample.SampleHome")

'remoteオブジェクトの生成
remote = home.create()


setInitialContextToken

○ CSIv2認証情報の設定

形 式 Sub J2EE.Bridge.setInitialContextToken _
(username As String, password As String, Optional ejbobject As Object)
機 能 CSIv2(Common Secure Interoperability Version 2)の認証情報を設定します。

このAPIを使用するには、SSL通信の設定が必要です。 SSL通信の設定については、[アプリケーション開発ガイド(Java EE) > 9. EJBゲートウェイ > 9.10. SSL通信の設定 ]を参照してください。
引 数
username
認証に使用するユーザ名を英数字 255文字以内で指定します。
password
認証に使用するパスワードを英数字 255文字以内で指定します。
ejbobject
EJBのhomeかremoteオブジェクトを指定した場合は、そのオブジェクトのメソッドのみが対象になります。 省略した場合は全メソッドが対象になります。
戻り値 なし
使用例
[VB6.0]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
Set J2eebr = New J2EE.Bridge()
'全メソッドを対象に認証情報を設定
Call J2eebr.setInitialContextToken("username", "password")
<中略>
'remoteオブジェクトの生成
Set remote = home.create()
'remoteオブジェクトのメソッドを対象に認証情報を設定
Call J2eebr.setInitialContextToken("username", "password", remote)

[VB.NET]
Dim J2eebr As J2EE.Bridge       'J2EE.Bridgeオブジェクト
Dim home As Object              'homeオブジェクト
Dim remote As Object            'remoteオブジェクト
J2eebr = New J2EE.Bridge()
'全メソッドを対象に認証情報を設定
J2eebr.setInitialContextToken("username", "password")
<中略>
'remoteオブジェクトの生成
remote = home.create()
'remoteオブジェクトのメソッドを対象に認証情報を設定
J2eebr.setInitialContextToken("username", "password", remote)