Webtribe/VisualFrame Q&A

Java基本

環境

定義情報入力TOOL

共通

サーバ

JAVAクライアント

HTMLGateway


question

jarファイルはどのように作成するのでしょうか?


question

JDKに付属のjar.exeを使用します。詳しい仕様はJavaTM 2 SDK ツールとユーティリティをご覧下さい。
以下構文ではmain.classがsample.jarとして生成されます。
jar cvf sample.jar main.class


question

OutOfMemoryが発生します


question

エラーが発生しているもののメモリの最大サイズを任意に指定を行ってください。"%JAVA_HOME%\bin\java" -server -Xmx256m ・・・ のように記述します。


question

JDK1.3では動きますか?


question

Webtribe/VisualFrameに関しては JDK1.4での動作を前提としております。


question

「Address in use: JVM_Bind」のエラーが発生します。


question

ポートが競合している可能性が考えられます。使用するポート番号が既に使用されていないか確認してください。
Dosコマンドの「netstat」を使用することにより、有効なTCP/IPコネクション、接続可能なポートなどが確認できます。

HttpPortを変更したい場合には
 (実行ディレクトリ)\webapps\webtribe\conf\common.wdg
 (実行ディレクトリ)\webapps\webtribe\WEB-INF\conf\common.wdg
 (実行ディレクトリ)\webapps\webtribe\WEB-INF\client\conf\common.wdg
のファイルに記述されている
<macro name="HttpPort" value=":80" />
の個所を変更します。

RmiPortを変更したい場合には
 (実行ディレクトリ)\webapps\webtribe\WEB-INF\conf\common.wdg
の以下の記述を変更します。
<macro name="RmiPort" value=":49152" />
 (実行ディレクトリ)\webapps\webtribe\WEB-INF\setenv.bat
の以下の記述を変更します。
 set RMIPORT=49152


question

JDKをデフォルトの場所にインストールしていない場合は?


question

サーバ側では、(実行ディレクトリ)\webapps\webtribe\WEB-INF\setenv.batの記述を変更する必要があります。
クライアント側ではJavaApplicationの場合は(実行ディレクトリ)\setenv.batの記述を変更する必要があります。


question

ツールにログインできません


question

原因としては以下の2つが考えられます。
(1)サーバーにアクセスできない
(2)ユーザーにログイン権限がない

(1)の場合には「サーバーが起動しているかどうか」「common.wdgのサーバー定義は間違っていないか」を確認してください。
(2)の場合には、Wedge起動サーバーの\server\conf\menu.wdgに、ユーザーが登録されているかどうかを確認してください。


question

「there war no response from ToolapServer.」のエラーがでます


question

原因としてConfigの設定ミス(サーバIPアドレスの設定ミスなど)、サーバにてWebtribeのサーバが正常に起動していない、TomcatなどのWebサーバーが起動していないなどが考えられます。


question

保存しようとするとエラーがでます


question

保存をする前に整合性チェックを行っているため、チェックエラーが発生する場合があります。メッセージの内容どおりに修正を行ってから再度保存をして下さい。
整合性チェックをせずに保存したい場合には、「とりあえず保存」を使用します。ただし、とりあえず保存した情報は運用実行(実行モード=run)では動作しません。


question

定義情報をバックアップするには?


question

リポジトリIMP/EMPツールによりファイル出力を行います。全てのリポジトリをExportするには「ALL EXPORT」を使用します。ファイルから情報を復元するためには「ALL EXPORT」を使用します。
但し、上書きインポートのみで追加インポートはできません


question

独自のデータ型を作成する場合は?


question

標準で提供されていないデータ型(英数字+半角カナなど)は、チェッククラスを生成して登録することにより使用が可能になります。
使用目的に添ったチェッククラスをOperation Management Consoleの基本クラスタブにてクラスパスを登録、データクラスタブにてデータとして登録します。


question

プログラムソースは取得できますか?


question

Webtribe、VisualFrameのプログラムソースはリポジトリIMP/EMPツールにより出力されるファイル(XML)になります。製品の特性上、Javaのソースは出力できません(独自で作成したビジネスルールは除く)


question

使用しているWebtribe、VisualFrameのバージョンはどこで分かりますか?


question

実行エンジンを起動した際にコンソールに表示されます。クライアントにてAppletもしくはJWSにて起動時には「Javaコンソールの表示」の設定を行うことによりコンソールが表示されます。


question

サーバログファイルはどこに出力されますか?


question

Tomcatにて稼動している場合は
<TOMCAT_HOME>/webapps/<projectname>/WEB-INF/logs に出力されます。
例えば Windows 上の Tomcat が c:\Tomcat4.1 にセットアップされていて、そこで demo というプロジェクトが稼動している場合
c:\Tomcat4.1\webapps\demo\WEB-INF\logs に出力されます。
ログファイルは
・RunApServer.log
・RunDBServer.log
・ToolApServer4Engine.log
・ToolDBServer.log などがあります。


question

メールにて送信する方法は?


question

標準ルールの jp.ne.mki.wedge.rule.common.network.SendMail を使います。(「共通(その他)」の「メール送信」)このルールのJAVADOCに、メール送信に必要なAPIの入手先などが書いてありますので、ご参照ください。


question

ToolApServerにて「java.lang.OutOfMemoryError」がでます。


question

取り込まれるデータ量が、多い為データ処理を行う際に「メモリーオーバー」したと考えられます。
一度、下記の処理を行い、再度試行してみてください。

・メモリー割り当ての拡張
 バッチ起動の場合
 WEB-INF/ToolApServer.bat
  "%JAVA_HOME%\bin\java" -server -Xmx256m -Xms256m -Djava ...........
  ( -Xmx256m -Xms256m を 追加してください)

 サービス起動の場合
 WEB-INF/ntservice/ToolApServer/service.ini
  Command=%JAVA_HOME%\jre\bin\java -server -Xmx256m -Xms256m -Xrs -Djava
...........
  ( -Xmx256m -Xms256m を 追加してください)
  ※-Xms256m....最小256MB のメモリを確保します。(起動時に256MB確保されます。)
   -Xmx256m....最大256MB のメモリを確保します。
   (例として 256MBを指示してますが マシン環境に合わせて設定してください。
    最低 128MBはあったほうが良いと思います。)

上記の該当ファイルを修正後、ToolApServerを再起動していただき Tomcatも再起動してください。


question

PMC認証にてログインができません


question

以下の順序で確認してください。
1.Webtribeサーバーが稼動しているかどうかを確認
2.Project Management Consoleにてユーザー/パスワードが登録されているかを確認
3.Project Management Consoleにてデスクトップにログインユーザーに参照権限があるかを確認


question

ラジオボタンにて「全てチェックなし」の状態にしたいのですが?


question

ラジオボタンをGroup化したものに対して、全ての選択なし(初期化)を行うことはJDKの仕様によりできません。
非表示のラジオボタンを一つ作成することにより、見かけ上「全てチェックなし」の状態にすることができます。


question

表示中のデータと入力中のデータと異なる表示をしたい


question

日付や数値形式のデータをフォーマットするような用途ではフォーマットクラスを使用することで簡単に作成が可能です。

例えば、2001/01 と表示されているデータを、入力時には 200101 と自動的に切替えたい場合には、Operation Management Consoleのデータにて表示変換クラスに「日付フォーマット」を選択し、表示変換パターンにyyyy/MMと入力します


question

標準チェック以外にも独自のチェックを追加したい


question

標準チェックでは、エラーの場合ダイアログを表示しフォーカスが移動しない制御をおこなっています。このタイミングで独自のチェックを追加したい場合にはチェッククラスを作成します。
実行は、標準チェック→独自のチェックの順序で行われます。


question

複数のConfigファイルを使い分けることはできる?


question

Configファイル(RunClient.wdg)は起動時のパラメータとして使用が可能です。
JavaApplicationでしたら起動時のコマンドを jp.ne.mki.wedge.run.client.main.WedgeMain -conf=(任意のファイル名) と指定します。
Appletでしたらindex.htmlの内容の一部である <param name = "conf" value ="(任意のファイル名)"> と指定します。


question

チェックの結果により、画面を開かない処理をしたい


question

Client Application Management ConsoleのフレームのOnLoadにて、ERRORを返すと画面を開かず処理が中断されます。


question

ログイン画面を表示したくない。


question

PMC認証の場合、ログイン画面が表示されます。プロジェクト独自のログインを設定したいなどの場合、AMC認証を使用することによりログイン画面を表示させないようにできます。
詳しい設定方法は、認証方法を参照ください。


question

独自のコンポーネントを使用したい


question

独自のコンポーネントを使用したい場合には、フレームインターフェースを使用してクラスを生成します。
これにより、Webtribeにて作成した画面、独自にフレームインターフェースを使い作成した画面を同じようにデスクトップからの起動などが行えます。


question

OSにてコピーした値が、Applet内のコンポーネントにペーストできません。


question

permission java.awt.AWTPermission "accessClipboard"; と記述したpolicyファイルをホームディレクトリに格納することにより、クリップボードの使用が可能になります。
Appletに権限を与える方法は、JDKのバージョン、許可するレベルなどにより設定が異なります。

・署名(JDK 1.1 ~)
(1) Applet に対して署名し、policy ファイルは使わない。全権限が与えられる。
(クライアントのセットアップを簡単にするためと、JDK 1.1 との互換性 を保つために残っている。)

・policy ファイルに記述する。(JDK 1.2 ~)
policy ファイルに記述された権限を
(2) すべての Applet に対して許可する。
(3) 特定の CodeBase に対してだけ許可する。
==> (例) grant codeBase "http://202.224.249.3/wedge/vercon/-" {permission java.awt.AWTPermission "accessClipboard";}
(4) 特定の署名をされた Applet に対してだけ許可する。
==> (例) grant signedBy "Webtribe"
(5) 特定の CodeBase と特定の署名をされた Applet に対してだけ許可する。
詳しくは、JDKのドキュメントを参照ください。


question

Applet(orJWS)にて起動時表示されるAppletWindowのタスクバーを消す方法は?


question

AppletWindowのタスクバーはセキュリティの関係上表示される仕様にJavaではなっています。
これを消すためにはアクセスするサーバに対してセキュリティ上問題ないという情報を設定すれば表示されなくなります。
方法としては、署名つきのjarファイルを生成する もしくは クライアントのPolicyファイルに permission java.awt.AWTPermission "showWindowWithoutWarningBanner"; を記述するなどがあります。
詳しくは、JDKのドキュメントを参照ください。


question

J2SDK 1.3 + JWS の環境で JSSE を使って HTTPS 通信を行うために必要な設定。


question

上記環境で HTTPS 通信を行うためには、次の権限が必要になります。
(1) java.security.SecurityPermission insertProvider.SunJSSE
(2) java.util.PropertyPermission java.protocol.handler.pkgs write

そこで次のどちらかの設定を行います。
(1) Java Applet に署名を行う。
Java Applet に署名を行うことにより、権限を付与します。

(2) policy ファイル(デフォルトではホームディレクトリに .java.policy というファイルを作成)に上記権限に対する許可を記述。
次の 2行を記述します。
permission java.security.SecurityPermission "insertProvider.SunJSSE";
permission java.util.PropertyPermission "java.protocol.handler.pkgs", "write";
--- 例 -----------------------------------------------------------------------
grant codeBase "file:/C:/Program Files/Java Web Start/.javaws/cache/http/D192.168.1.1/P80/DMwebtribe/DMlib/-" {
permission java.security.SecurityPermission "insertProvider.SunJSSE";
permission java.util.PropertyPermission "java.protocol.handler.pkgs", "write";
};
------------------------------------------------------------------------------


question

デスクトップを表示しないようにできないか?


question

デスクトップでは終了時に全オブジェクトを開放するなどの処理を行っているため、非表示にはできません。
Configの設定により「起動時に最小化する」設定は行えます。詳しくはJavaClientConfigurationを参照して下さい。


question

セルに値を入力後、テーブルのタイトルをクリックすると値が反映しないのですが?


question

Swingの仕様になります。テーブル列ヘッダーをクリックされると、ESCされたのと同じ動作(入力キャンセル)となります。
その場合、値は入力する前の値に戻り、チェックは走りません。


question

動的にTableHeaderの値を変える方法は?


question

Header文字をアプリケーション内で動的に変更する場合にはビジネスルールにてSwingのJTableのメソッドを使用します。
例として、ルールにてIn項目に変更したい列のアイテムを設定した場合、
if(indata.getComponent() instanceof DefaultTable){
  DefaultTable table = (DefaultTable)indata.getComponent();
  int index = table.getTableModel().getColumnIndex(indata);
  TableColumn column = table.getColumnModel().getColumn(index);
  column.setHeaderValue("変更する文字列");
  ((Window)getFrame()).repaint();
} となります。


question

InternalServerErrorと表示されます


question

WebServerにてエラーログが出力されますので、その内容を参照ください。


question

HTMLでCookieを使用した場合、サーバーに送信されたCookieの内容をSAMC等で処理したいときは?


question

HTMLGateway(サーブレット)により、Cookie情報をWebtribeのアイテムにセットした後、そのアイテムをSAMC(RunApServer)に引き渡します。

●HTMLGateway(サーブレット)でのCookie情報取得方法
1.ビジネスルールから「public HttpServletRequest getRequest()」で「HttpServletRequest」オブジェクトの取得。
2.「HttpServletRequest」オブジェクトから「public Cookie[] getCookies()」により「Cookie[]」オブジェクトを取得。

※「Cookie[]」以下の情報取得については 以下をご参考にしてください。
http://java.sun.com/webservices/docs/1.0/api/index.html