ページの先頭行へ戻る
Interstage Service Integrator V9.5.0 アプリケーション開発ガイド
FUJITSU Software

D.6 アプリケーションのコンパイルと実行

アプリケーションのコンパイルと実行方法について説明します。

アプリケーションのコンパイルと実行は、管理者権限を所有するユーザ、またはInterstage運用者で動作させてください。メッセージ送信APIのメッセージ保証機能を利用する場合、常に同じユーザでアプリケーションを実行してください。

共通APIを使用したアプリケーションの場合

作成したアプリケーションをコンパイルし、実行します。コンパイル・実行時には、クラスパスに以下を含めてください。

SOAPのRPC機能(JAX-RPC)を使用した場合、以下のクラスパスを追加してください。

実行時には、以下をVM引数に指定してください。

SOAPのRPC機能(JAX-RPC)を使用した場合、以下のクラスパスを追加してください。

実行時には、以下をVM引数に指定してください。


RMI、JMSを利用した場合

コンパイルの例

javac -classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;%CLASSPATH%;." ESISend.java

実行

java -classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;%CLASSPATH%;." -Dcom.fujitsu.esi.home=%ESI_HOME% -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend


コンパイルの例

javac -classpath "/opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar:$CLASSPATH:." ESISend.java

実行例

java -classpath "/opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar:$CLASSPATH:." -Dcom.fujitsu.esi.home=/opt/FJSVesi -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend


JMS-Rを利用した場合

コンパイルの例

javac -classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;%CLASSPATH%;." ESISend.java

実行

java -Dcom.fujitsu.ObjectDirector.DeterredMessage=YES
-Djava.naming.factory.initial=com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient
-classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;
%IS_HOME%\BAS\lib\apfwasyncapi.jar;%IS_HOME%\BAS\lib\apfwibscm.jar;%IS_HOME%\lib\isjmxcommon.jar;
%IS_HOME%\APC\lib\uji.jar;%IS_HOME%\APC\lib\ujief.jar;%IS_HOME%\APC\lib\ujilog.jar;
%IS_HOME%\ODWIN\etc\class\ODjava4.jar;%IS_HOME%\eswin\lib\esnotifyjava4.jar;%IS_HOME%\J2EE\lib\isj2ee.jar;
%IS_HOME%\jms\lib\fjmsprovider.jar;<Symfoware Serverクライアントインストールディレクトリ>\JDBC\fjjdbc\lib\fjsymjdbc2.jar;%IS_HOME%\F3FMjs5\common\lib\servlet-api.jar;%IS_HOME%\ots\lib\fjtsclient.jar;%CLASSPATH%"
-Dcom.fujitsu.esi.home=%ESI_HOME% -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend


コンパイルの例

javac -classpath
/opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar
:.:$CLASSPATH ESISend.java

実行例

java -Dcom.fujitsu.ObjectDirector.DeterredMessage=YES
-Djava.naming.factory.initial=com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient
-classpath /opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar
:/opt/FJSVibs/lib/apfwasyncapi.jar:/opt/FJSVibs/lib/apfwibscm.jar:/opt/FJSVisjmx/lib/isjmxcommon.jar
:/opt/FJSVwebc/lib/uji.jar:/opt/FJSVapcef/lib/ujief.jar:/opt/FJSVapclg/lib/ujilog.jar
:/opt/FSUNod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar:/opt/FJSVj2ee/lib/isj2ee.jar
:/opt/FJSVjms/lib/fjmsprovider.jar:/opt/FJSVsymjd/fjjdbc/lib/fjsymjdbc2.jar
:/opt/FJSVjs5/common/lib/servlet-api.jar:/opt/FJSVibs/lib/apfwsetsecurity.jar
:.:$CLASSPATH -Dcom.fujitsu.esi.home=/opt/FJSVesi -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend

実行例

java -Dcom.fujitsu.ObjectDirector.DeterredMessage=YES
-Djava.naming.factory.initial=com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient
-classpath /opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar
:/opt/FJSVibs/lib/apfwasyncapi.jar:/opt/FJSVibs/lib/apfwibscm.jar:/opt/FJSVisjmx/lib/isjmxcommon.jar
:/opt/FJSVwebc/lib/uji.jar:/opt/FJSVapcef/lib/ujief.jar:/opt/FJSVapclg/lib/ujilog.jar
:/opt/FJSVod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar:/opt/FJSVj2ee/lib/isj2ee.jar
:/opt/FJSVjms/lib/fjmsprovider.jar:/opt/FJSVsymjd/fjjdbc/lib/fjsymjdbc2.jar
:/opt/FJSVjs5/common/lib/servlet-api.jar:/opt/FJSVibs/lib/apfwsetsecurity.jar
:.:$CLASSPATH -Dcom.fujitsu.esi.home=/opt/FJSVesi -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend

注意

  • ISIサーバ(Solaris、またはLinux)を対象に例を記述しています。

  • LD_LIBRARY_PATHに、以下のパスを指定してください。

    • /opt/FJSVesi/lib

    • /opt/FSUNrdb2b/lib

    • /opt/FJSVsymjd/fjjdbc/bin

    • /opt/FJSVibs/lib

    • /opt/FSUNod/lib

    • /opt/FJSVjms/lib

    • /opt/FJSVesi/lib

    • /opt/FJSVrdb2b/lib

    • /opt/FJSVsymjd/fjjdbc/bin

    • /opt/FJSVibs/lib

    • /opt/FJSVod/lib

    • /opt/FJSVjms/lib

SOAPのRPC機能(JAX-RPC)を利用した場合

コンパイルの例

javac -classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws-lib.jar;%CLASSPATH%;." ESISend.java

実行

java -classpath "%ESI_HOME%\lib\esicore.jar;%ESI_HOME%\lib\esiejb_jar_client.jar;%ESI_HOME%\lib\log4j-1.2.15.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws-lib.jar;%CLASSPATH%;." -Dcom.fujitsu.esi.home=%ESI_HOME% -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend


コンパイルの例

javac classpath "/opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar:/opt/FJSVj2ee/lib/isws.jar:/opt/FJSVj2ee/lib/isws-lib.jar:$CLASSPATH:." ESISend.java

実行例

java classpath "/opt/FJSVesi/lib/esicore.jar:/opt/FJSVesi/lib/esiejb_jar_client.jar:/opt/FJSVesi/lib/log4j-1.2.15.jar:/opt/FJSVj2ee/lib/isws.jar:/opt/FJSVj2ee/lib/isws-lib.jar:$CLASSPATH:." -Dcom.fujitsu.esi.home=/opt/FJSVesi -Dorg.omg.CORBA.ORBClass=com.fujitsu.ObjectDirector.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=com.fujitsu.ObjectDirector.CORBA.SingletonORB -Djavax.rmi.CORBA.StubClass=com.fujitsu.ObjectDirector.rmi.CORBA.StubDelegateImpl -Djavax.rmi.CORBA.UtilClass=com.fujitsu.ObjectDirector.rmi.CORBA.UtilDelegateImpl -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.fujitsu.ObjectDirector.rmi.CORBA.PortableRemoteObjectDelegateImpl ESISend

注意

  • メッセージがイベントチャネルにない場合、イベントログに以下の内容が出力されることがあります。

    OD: 情報: od60003:OD-Javaランタイムが例外を受け取りました。 IDL:CORBA/COMM_FAILURE:1.0
    com_fujitsu_CORBA_Request.cpp [1191]

    出力を抑止する場合は、実行時のJavaVMオプションに、以下を追加してください。

    • -Dcom.fujitsu.ObjectDirector.DeterredMessage=YES

    ※本メッセージが出力されても、メッセージの受信に問題はありません。

  • SOAPのRPC機能(JAX-RPC)による送受信を、スタブを利用して開発した場合、コンパイル・実行時に上記クラスパスやVM引数を設定する必要はありません。

  • 環境変数CLASSPATHに適切な値が設定されている必要があります。詳細については、“ISI 導入ガイド”を参照してください。

.NET機能を利用した場合

作成したアプリケーションをコンパイルし、実行します。コンパイル・実行時には、参照設定に以下を含めてください。

コンパイル・実行方法については、ご利用の開発環境、またはCSCコマンドの使用方法を確認してください。

注意

Windows VistaのSP1を適用している環境で、.NET機能を利用するアプリケーションの実行時に以下のエラーが発生する場合、以下に示す対処を一度だけ実施してください。

エラーの内容:

log4net:ERROR XmlHierarchyConfigurator: Could not create Appender [EventLogAppender] of type [log4net.Appender.EventLogAppender]. Reported error follows.

対処方法:

  1. 対象の.NETアプリケーションを右クリックします。

  2. “管理者として実行”を選択し、実行します。

コマンドプロンプトから対象の.NETアプリケーションを実行する場合は、以下に示す対処を一度だけ実行してください。

  1. [スタート]メニューの[すべてのプログラム]-[アクセサリ]-[コマンド プロンプト]を右クリックします。

  2. “管理者として実行”を選択し、コマンドプロンプトを開きます。

  3. .NETアプリケーションを実行します。

スタブを利用したアプリケーションの場合

Interstage Application Serverを利用した場合

作成したアプリケーションをコンパイルし、実行します。コンパイル・実行時には、クラスパスに以下を含めてください。

注意

上記の“isws-lib.jar”をクラスパスに設定することで、以下のjarファイルも自動的にクラスパスに設定されます。詳細については、“Interstage Application Server J2EE ユーザーズガイド(旧版互換)”を参照してください。

  • <Interstageインストールディレクトリ>\J2EE\lib\xerces\xercesImpl.jar

  • <Interstageインストールディレクトリ>\J2EE\lib\xerces\xml-apis.jar

  • <Interstageインストールディレクトリ>\J2EE\lib\isj2ee.jar

SSLを設定した場合、以下のクラスパスを追加してください。

コンパイルの例

javac -classpath "<Interstageインストールディレクトリ>\J2EE\lib\isws.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws-lib.jar;%CLASSPATH%;." ESIClientSample.java

実行

java -classpath "<Interstageインストールディレクトリ>\J2EE\lib\isws.jar;<Interstageインストールディレクトリ>\J2EE\lib\isws-lib.jar;%CLASSPATH%;." ESIClientSample

AXISを利用した場合

作成したアプリケーションをコンパイルし、実行します。コンパイル・実行時には、クラスパスにAXISのライブラリ(基本的に<Axisインストールディレクトリ>\libのjarファイルすべて)を含めてください。

AXIS1.3を使用した場合の例

コンパイルの例

javac -classpath "<Axisインストールディレクトリ>\lib\axis.jar;<Axisインストールディレクトリ>\lib\axis-ant.jar;<Axisインストールディレクトリ>\lib\axis-schema.jar;<Axisインストールディレクトリ>\lib\commons-discovery-0.2.jar;<Axisインストールディレクトリ>\lib\commons-logging-1.0.4.jar;<Axisインストールディレクトリ>\lib\jaxrpc.jar;<Axisインストールディレクトリ>\lib\log4j-1.2.8.jar;<Axisインストールディレクトリ>\lib\saaj.jar;<Axisインストールディレクトリ>\lib\wsdl4j-1.5.1.jar;%CLASSPATH%;." ESIClientSample.java

実行

java -classpath "<Axisインストールディレクトリ>\lib\axis.jar;<Axisインストールディレクトリ>\lib\axis-ant.jar;<Axisインストールディレクトリ>\lib\axis-schema.jar;<Axisインストールディレクトリ>\lib\commons-discovery-0.2.jar;<Axisインストールディレクトリ>\lib\commons-logging-1.0.4.jar;<Axisインストールディレクトリ>\lib\jaxrpc.jar;<Axisインストールディレクトリ>\lib\log4j-1.2.8.jar;<Axisインストールディレクトリ>\lib\saaj.jar;<Axisインストールディレクトリ>\lib\wsdl4j-1.5.1.jar;%CLASSPATH%;." ESIClientSample

CORBAを利用した場合

アプリケーションのコンパイルと実行方法については、“Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)”を参照してください。