WebAP JSP Developer でエラーが発生すると、エラーダイアログにエラーメッセージを表示し、エラーログファイルにエラー情報を出力します。
エラーメッセージ、および対処方法については、「WebOTX WebAP JSPメッセージ編 開発環境」を参照してください。
WebAP JSPでエラーが発生すると、Webブラウザの画面にエラーコード、エラーメッセージを表示し、エラーログファイルにエラー情報を出力します。ただし、サーバAPでの処理自体で発生したエラーは、エラーログファイルに出力しません。
エラーメッセージ、および対処方法については、「WebOTX WebAP JSPメッセージ編 実行環境」を参照してください。
エラー発生時に取得するエラーログファイルは標準で採取します。
既定値は、「最大ファイルサイズ1024Kバイト」、「スタックトレースの出力あり」です。
設定の変更方法、出力形式については、「WebOTX WebAP JSPメッセージ編 開発環境」を参照してください。
エラー発生時に取得するエラーログファイルは標準で採取します。
既定値は、「最大ファイルサイズ1024Kバイト」、「スタックトレースの出力あり」、「セッションIDのログ出力なし」です。
設定の変更方法、出力形式については、「WebOTX WebAP JSPメッセージ編 実行環境」を参照してください。
WebAP JSP Developer は、エラーログ、トレースログ、ビルドログ、IDLコンパイルログの4種類のログを各ログファイルに出力します。
ログファイルの詳細については、「WebOTX WebAP JSPメッセージ編 開発環境」を参照してください。
WebAP JSPは、アクセスログ、エラーログ、トレースログの三種類のログを各ログファイルに出力します。
ログファイルの詳細については、「WebOTX WebAP JSPメッセージ編 実行環境」を参照してください。
WebAP JSP Developer で発生する問題の解決方法を説明します。
| ファイル転送時にエラーが発生する。 |
以下の原因が考えられます。
WebAP JSPの運用管理/環境設定用JSPファイル(admin.jsp)の「ファイル転送」ページからファイル転送サーバを起動してください。
ファイル転送サーバのポート番号を指定してください。
WebAP JSPの運用管理/環境設定用JSPファイル(admin.jsp)の「ファイル転送」ページで確認できます。
「実行環境からエラーが返却されました。コード=403
概要=Forbidden」
というエラーを表示します。
ファイル転送サーバのアクセス制限で許可されているWebAP JSP Developer から転送してください。
WebAP JSPの運用管理/環境設定用JSPファイル(admin.jsp)の「ファイル転送」ページでアクセス可能なWebAP JSP Developer のIPアドレスが確認できます。
Webサーバのポート番号が80以外であれば、ポート番号を指定してください。
ファイル転送先のWebサーバ上でServletコンテナを起動し、ファイルを受け取れる状態にしてください。
Webサーバのホスト名が、hostsファイルやDNSサーバに正しく登録されていることを確認してください。
各OSの hostsファイルの格納場所を以下に示します。
| OS | Hostsファイルのパス |
|---|---|
| Windows XP/2000 | %windir%\system32\driver\etc\hosts |
| JSP開発ツール起動時に、プロジェクト、トランザクションまたはフェーズに関する情報が不正であることを示すメッセージが表示される。 |
JSP開発ツール起動時などに「トランザクション定義ファイルが存在しません。」や「フェーズプロパティファイル:***は存在しません。」などのエラーメッセージが表示された場合、JSP開発ツールが管理するファイル群が不正になっていることが考えられます。
前回、名前の変更や削除を実行したときに、変更する権利がJSP開発ツールに与えられていなかったなどの原因が考えられます。その場合、以下に示す各JSP開発ツールのファイル群フォーマットを参考に不正になっている情報がないか確認してください。不正になっている部分があれば、修正してください。
<プロジェクト定義ファイル>
ファイル名:JSP開発ディレクトリ配下/project/プロジェクト名/conf/JSProj.conf
説明:
プロジェクトに登録されているトランザクション名を列挙しています。
| トランザクション名 トランザクション名 トランザクション名 トランザクション名 --------- |
JSP開発ディレクトリ配下/project/プロジェクト名配下のトランザクションディレクトリ名とプロジェクト定義ファイルの内容が異なる場合には、トランザクション名の定義を削除するか、または名前を修正することにより、復旧されます。
<トランザクション定義ファイル>
ファイル名:トランザクション定義ファイル:JSP開発ディレクトリ配下/project/プロジェクト名/トランザクション名/conf/JSTrans.conf
説明:トランザクション全体に関する情報とトランザクションに登録されているフェーズ名を列挙しています。トランザクション全体に関する情報については修正の必要はありません。フェーズ名の列挙部分は、以下のように記述されます。
| { Phase1 Phase2 --------- } |
JSP開発ディレクトリ配下/project/プロジェクト名/トランザクション名/work配下のフェーズプロパティファイル名とトランザクション定義ファイルの内容が異なる場合には、フェーズ名の定義を削除するまたは名前を修正することにより、復旧されます。
| JSP開発ツール使用中にメモリ不足(OutOfMemory)が発生する。 |
以下の原因が考えられます。
JavaVMのメモリを増やして、JSP開発ツールを再起動してください。
以下に設定方法を記述します。
-mx32m -ms32m |
マシンのメモリを増やしてください。
| Cookie構造体がマッピングできない。 |
WebブラウザのCookie情報を送受信するためのメソッドパラメータ「cookie」には以下の決まりがあります。
IDLの定義をみなおしてください。
詳細は、「Cookieパラメータ利用の手引き」を参照してください。
| 「フェーズ設定」ダイアログでHTMLを追加しようとすると、「TRタグはTABLEタグに含まれていません。TABLEタグの記述を確認してください。」と表示される。 |
HTML構文の記述で、INPUTタグの">"がない、または<TD>〜</TD>、<TR>〜</TR>の係り受けが誤っているなどの理由が考えられます。
HTML作成ツールで作成しても、HTML構文が正しくない場合があります。HTMLをテキストエディタで確認してください。
| 最も内側のテーブルなのに列単位のマッピングができない。 |
テーブルに列単位のマッピングをする場合は、構造体(struct)は一段でなければなりません。
マッピングしようとしている変数の型を確認してください。
| コンパイルすると「ZIPファイルのクローズに失敗しました。」のエラーが表示される。 |
コンパイルが失敗してクラスファイルが作成できていません。
ビルドパネルに表示されているコンパイルの失敗原因を取り除き再度コンパイルしてください。ビルドパネルの表示が途中できれている場合には、ビルドログ(JSP開発ディレクトリ\logs\build.log)でビルド情報を確認してください。
「環境設定」ダイアログでのJavaコンパイラの各種設定が間違っていることもあります。設定を見なおしてください。
| コンパイルするとHTMLをカスタマイズした部分でエラーになる。 |
カスタマイズ部分に記述している変数名がIDLで定義した内容と合っているか確認してください。
カスタマイズ部分のコメントの記述が正しいか確認してください。
| IDL(IF)ファイルを変更したがJSP開発ツールに反映されない。 |
「フェーズ設定」ダイアログを表示している状態でIDL(IF)ファイルを変更した場合、正しく反映されないことがあります。
IDL(IF)ファイルを変更する場合は、一旦JSP開発ツールを終了してください。
また、「フェーズ設定」ダイアログでフェーズ設定を行った後、IDL(IF)ファイルを更新した場合は、もう一度「フェーズ設定」ダイアログでフェーズ設定を行ってください。
| コンパイルに失敗する。 |
「環境設定」ダイアログの「コンパイラ」タブの「Javaコンパイラ−クラスパス」にクラスパスが正しく設定されているか確認してください。
Object Broker バージョン6.x以上またはObjectSpinnerバージョン5.xの場合は、「Javaコンパイラ−クラスパス」に設定するObject Brokerのjarファイル名はospiorb.jarではなく、ospiorb50.jarです。
MFDL移行の場合は、mfdl.jar(ObjectSpinnerバージョン4.xまたはObjectSpinner互換ライブラリを使用する場合)またはmfdl50.jar(Object Broker バージョン6.x以上またはObjectSpinnerバージョン5.xを使用する場合)へのパスが必要です。
Object Broker バージョン6.x以上またはObjectSpinnerバージョン5.xの場合で、WO_Baseから派生したインタフェースを定義しているIDLファイルを使用する場合は、WOTXBS90.jar
へのパスが必要です。
WebAP JSPで発生する問題の解決方法を説明します。
| Webサーバから「Internal Server Error」のメッセージが返された。 |
まず、Webサーバの起動が完了していないことが考えられます。しばらく時間をおいて再度試してください。さらに同じエラーが発生する場合には、何らかの原因でServletコンテナまたはWebAP JSPが起動できないと思われます。エラーの原因についての情報は、インストールディレクトリ/logs/error.logまたはServletコンテナのエラーログに出力されます。
| WebAP JSPのエラーログに「NameComponentの構築に失敗しました。」と出力される。 |
「環境設定」ページの「名前サーバ名(CNSを使用しないとき)」もしくは「キャッシュ名前サーバ名(CNSを使用するとき)」に記述したホスト名が不正です。または、ホスト名がWebAP JSPを実行しているマシンでは識別できない名前です。hostsファイルに記述されていないなどが考えられます。
| Webブラウザに出力される受信データが文字化けしている。 |
Object Brokerのコードセットがサーバ側とクライアント側で一致していないことが考えられます。
クライアント側のコードセットは「環境設定」ページから設定できます。コードセットの詳細については、Object Brokerのマニュアルを参照してください。
また、WebAP JSPでJDK 1.5以上を使用する場合、JSP構文 <%@ page contentType="text/html; charset=エンコーディング名"%>のエンコーディング名に「SJIS」、「MS932」を指定すると、外字やIBM拡張文字などの機種依存文字が表示できません。この場合は「Windows-31J」を転送し直してしてください。
| サーバAPで受け取ったデータが文字化けしている。 |
コード変換に関する設定が正しく行われていないことが考えられます。
以下の設定を確認してください。
WebAP JSPの運用管理/環境設定用JSPファイル(admin.jsp)の「環境設定」ページの「stringのUNICODE変換」が「行う」になっていること。
| サーバAPにアクセス後の画面を表示しようとすると、「NameCompornentの構築に失敗しました」というエラーになる。 |
など、サーバAP自体が起動していないケースであると思われます。WebOTXの運用管理ツールでサーバAPの状態を確認してください。
| Object BrokerのBadOperationエラーが発生する。 |
サーバAPで例外が発生していないか確認してください。
| フェーズ実行時、java.lang.VerifyErrorが発生する。 |
フェーズソース中の1つのメソッドのバイトコードサイズが、JavaVMの制限値65535を超えている可能性があります。入力項目数を見直すなどして、メソッドのサイズを減らしてください。
実行環境の「環境設定」ページの「フェーズオブジェクト作成タイミング」に「トランザクション実行時に全フェーズオブジェクトを作成」を指定している場合は、実行したフェーズだけでなく、トランザクション中のすべてのフェーズについて見直してください。
| Webブラウザに「内部サーバー エラー 」、「Server Error」などと出力される。 |
Webアプリケーションを作成したWebAP JSP Developer と、WebAP JSPで使用しているObject Brokerのバージョンが一致していることを確認してください。
WebOTX 3.x以上のインストール媒体に含まれているObject Brokerには、ObjectSpinner4.5互換用ライブラリ(ospievnt.jar、ospiname.jar、ospiorb.jar)とObject Broker6.x以上またはObjectSpinner5.xのライブラリ(ospievnt50.jar、ospiname50.jar、ospiorb50.jar)の2種類があります。Webアプリケーションを作成したWebAP JSP Developer と、WebAP JSPで使用しているObject Brokerのライブラリが同じであることを確認してください。
| トランザクションの実行がエラーになり、Webブラウザの表示、またはServletコンテナのエラーログに、「java.lang.ClassCastException」が出力される。 |
バージョン3.1x以前のWebAP JSP Developer で作成したトランザクションを読み込んで、「ソース作成」、「ビルド」を行ったとき、フェーズJavaソースファイルの上書きを行わなかったり、ソース作成、ビルドを途中でキャンセルし、フェーズJavaソースファイルをすべて再生成せずにWebアプリケーションをWebAP JSPに転送すると、実行環境上で正しく動作しません。
上記の場合は、そのトランザクションのすべてのフェーズJavaソースファイルを再生成し、再コンパイル後、WebAP JSPにファイル転送してください。
| モアレッシモと連携して実行している場合、Servletコンテナのログに「org.xml.sax.SAXParseException」と出力される。 |
HTMLファイルの記述がモアレッシモで解析できる形式になっていない可能性があります。Servletコンテナのログの「org.xml.sax.SAXParseException:」に続くメッセージを参照して、HTMLファイルの記述を見直してください。
モアレッシモと連携する場合のHTMLファイルの記述形式については、「HTMLファイルの記述形式」を参照してください。
| Webブラウザの表示、またはWebAP JSPのエラーログに「画面遷移チェックに必要なパラメータ(JSPNAME)の値が取得できません。」と出力される。 |
Servletコンテナのエラーログに「Exception(Short Read)」が出力されている場合は、Webブラウザからの通信中になんらかの障害が発生して、WebAP JSPがデータを受け取れなかった可能性があります。
Servletコンテナのエラーログに「Exception(Short Read)」が出力されていない場合は、前画面のJSPファイルに、JSPNAME(前画面のJSPファイル名を保持する識別子)が記述されているかどうか確認してください。記述がなければ、JSPファイルの再生成を行ってください。
また、HTML(JSP)ファイルをカスタマイズして、ハイパーリンクやJavaScriptなどでフェーズのURLを指定している場合は、URL中にJSPNAMEの記述があることを確認してください。
| サーバAPでエラーになり、Servletコンテナのエラーログに、「Exception(Short Read)」が出力される。 |
Webブラウザからの通信中になんらかの障害が発生して、WebAP JSPがデータを受け取れなかった可能性があります。
Short Readが発生した場合に、サーバAPにアクセスする前にエラーを検出するには、以下の方法でWebアプリケーションの再作成とWebAP JSPの環境設定を行ってください。 Short Read発生時、WebAP JSPで遷移エラーになります。
ただし、先頭フェーズ実行時は遷移エラーを検出できません。先頭フェーズでShort Readが発生しないようにするには、先頭フェーズを実行するリクエストをHTTPのGETメソッドにしてください。