Webアプリケーションを実行したときに発生するトラブルを次に示します。
■ Webアプリケーションを起動しようとするとjava.lang.NoClassDefFoundErrorの例外が生成される
原因
Formcoordinatorで提供されているクラスライブラリが実行時に参照できていない可能性があります。
対処
FormcoordinatorがWebサーバにインストールされているかを確認してください。
インストールされている場合は、CLASSPATH環境変数にf3hksjsv.jar、xmlpro.jar、およびxmltrans.jarが設定されていることを確認してください。
サーブレットコンテナの設定で、CLASSPATH環境変数にf3hksjsv.jar、xmlpro.jar、およびxmltrans.jarが設定されていることを確認してください。CLASSPATH環境変数の設定方法については、使用しているサーブレットコンテナのマニュアルを参照してください。
■ java.lang.NoSuchMethodErrorの例外が生成される
原因
サーブレットコンテナのCLASSPATH環境変数の設定に誤りがある可能性があります。
対処
サーブレットコンテナの設定で、CLASSPATH環境変数が正しく設定されているかを確認してください。CLASSPATH環境変数の設定方法については、「4.1.1.2 サーブレットコンテナを設定する」を参照してください。
■ Webアプリケーションを起動しようとするとjava.lang.UnsatisfiedLinkErrorの例外が生成される
原因
PATH環境変数にFormcoordinatorのパスが設定されていない可能性があります。
対処
FormcoordinatorがWebサーバにインストールされているかを確認してください。
インストールされている場合、以下の環境変数が設定されていることを確認してください。
PATH環境変数に「Interstageのインストールフォルダ\bin」(例:C:\Interstage\bin)のパスが設定されていることを確認してください。
LD_LIBRARY_PATH環境変数に /opt/FJSVfcdn/libが追加されていることを確認して下さい。
サーブレットコンテナの設定で、CLASSPATH環境変数にf3hksjsv.jar、xmlpro.jar、およびxmltrans.jarが設定されていることを確認してください。CLASSPATH環境変数の設定方法については、使用しているサーブレットコンテナのマニュアルを参照してください。
■ OutputDataBuilderのコンストラクタで、「パラメタの電子フォーム格納パスに指定できないURI記述形式が指定されました。」というイベントログまたは例外が生成される
原因
電子フォーム格納パスに「file:///」以外を使用している可能性があります。
対処
イベントログを参照し、電子フォーム格納パスに表示されているパスを確認してください。
「file:///」以外のパスで表示されている場合は、その原因を特定してください。
■ OutputDataBuilderのメソッドで、「指定された電子フォームが見つかりません。」というイベントログまたは例外が生成される
原因
指定された電子フォーム名のファイルが存在していない可能性があります。
対処
OutputDataBuilderのコンストラクタで指定した電子フォーム名のファイルがすべて存在しているかどうかを確認してください。電子フォームのファイルの種類については、「4.1.2.2 電子フォームを配置する」の「■ 電子フォームの構成ファイル」を参照してください。
OutputDataBuilderのコンストラクタで電子フォーム格納パスを省略した場合は、Formcoordinatorの環境設定で指定した電子フォーム格納先ディレクトリにファイルが存在しているかを確認してください。
OutputDataBuilderのコンストラクタで電子フォーム格納パスを指定している場合は、指定したパスにファイルが存在しているかを確認してください。
■ InputDataBuilderやHtmlFormUtilのコンストラクタで、「入力ストリームオブジェクトにデータがありません。」というイベントログまたは例外が生成される
原因
入力ストリームオブジェクトが解析されているため、Formcoordinatorで解析できない状態である可能性があります。
対処
HtmlFormUtilのコンストラクタでエラーになった場合
リクエストオブジェクトの入力ストリームオブジェクトがアプリケーションまたはほかの製品で解析された状態にないかを確認してください。
InputDataBuilderのコンストラクタでエラーになった場合
リクエストオブジェクトの入力ストリームオブジェクトがアプリケーションまたはほかの製品で解析された状態にないかを確認してください。
なお、すでにHtmlFormUtilを呼び出している場合は、HtmlFormUtilのgetInputStream()メソッドで獲得した入力ストリームオブジェクトを引数として使用してください。
■ InputDataBuilderやHtmlFormUtilのコンストラクタで、「入力ストリームオブジェクトのデータ解析でエラーが発生しました。」というイベントログまたは例外が生成される
原因
入力ストリームオブジェクトのデータ解析で次に示す要因でエラーが発生した可能性があります。
添付ファイルデータやXMLデータなどデータ中に10メガバイトを超えるデータが存在した場合、またはInputDataBuilderやHtmlFormUtilのコンストラクタでフォーム送信データ解析でのデータサイズの上限値で指定したサイズを超えるデータが存在した場合
1メガバイトを超えるデータだったとき、またはInputDataBuilderやHtmlFormUtilのコンストラクタでフォーム送信データ解析でのメモリ使用量の上限値を超えるデータだったとき、TEMP領域に作成しようとした作業用の一時ファイルがディスク領域の不足などが原因で作成されなかったため、データ解析ができなかった場合
メモリ不足が原因でデータ解析ができなかった場合
対処
データ中に10メガバイトを超えるデータが存在した場合、またはInputDataBuilderやHtmlFormUtilのコンストラクタでフォーム送信データ解析でのデータサイズの上限値で指定したサイズを超えるデータが存在した場合はデータ解析できません。
データサイズの上限値の詳細については、次に示すどちらかを参照してください。
TEMP領域の容量が不足していないかを確認してください。
実行中のアプリケーションを終了するか、またはシステムを再起動し、再度実行してください。
■ java.lang.OutOfMemoryErrorの例外が生成される
原因
システムのメモリ不足、またはJava VMのヒープ領域不足です。
対処
メモリ不足の場合は、実行中のほかのアプリケーションを終了するか、またはシステムを再起動してください。
Java VMのヒープ領域不足の場合は、使用しているJava VMの最大ヒープ領域のサイズを増やしてください。
■ OutputDataBuilderのメソッドで、「印刷ボタンがある電子フォームで、電子フォームの格納パスからURLの取得に失敗しました。」というイベントログまたは例外が生成される
原因
印刷ボタンがある電子フォームに、Formcoordinatorの環境設定で電子フォーム格納パスに対応するURLが設定されていないためにエラーが発生しました。
対処
Formcoordinatorの環境設定で電子フォーム格納パスに対応するURLが設定されているか確認して修正してください。
Formcoordinatorの環境設定については、「4.1.2.3 クライアント印刷で使用する電子フォームを配置する」を参照してください。
■ 「項目制御情報の形式が未サポートです。」の例外が生成される
原因
同名タグが定義されている電子フォームで、FormCoordinator V4.0(Windows)またはFormCoordinator 4.1(Solaris)の項目制御情報で利用しようとしたためです。
対処
「12.1 Webアプリケーションの移行」を参照してください。
■ 「CGI送信は未サポートです。」の例外が生成される
原因
簡易表示モードおよび汎用表示モードでは、データ送信形式に「CGIパラメタ形式で送信する」を指定した電子フォームは利用できません。
対処
標準表示モードで表示するか、データ送信形式を「XMLデータ形式で送信する」に変更してください。
■ サーバ印刷で、出力先プリンタ名を省略して、通常使うプリンタに出力しようとするとオープンエラーになる
原因
Windowsのサービス配下のサーバ印刷では、サーブレットコンテナのログオンアカウントがローカルシステムアカウントになっている場合に、出力先プリンタ名を省略すると通常使うプリンタが定義されていてもプリンタのオープンエラーとなります。
対処
出力先プリンタ名をsetPrinterName()メソッドで指定するか、次に示す手順で対処を行ってください。
Windowsの[スタート]ボタンをクリックし、[設定]-[コントロールパネル]をクリックします。
→[コントロールパネル]が表示されます。
[管理ツール]を開き、[サービス]をクリックします。
→[サービス]が表示されます。
名前の中からサーブレットコンテナのプロパティを開いて、[ログオン]タブをクリックします。Interstage Application Serverを使用している場合は、TransactionDirectorのプロパティを開いて、[ログオン]タブをクリックします。
[アカウント]を選択し、[参照]ボタンをクリックします。
→[ユーザの選択]ダイアログボックスが表示されます。
[名前]を選択し、[OK]ボタンをクリックします。
→[アカウント]が設定されます。
[パスワード]と[パスワードの確認入力]に、選択したユーザのパスワード入力し、[OK]ボタンをクリックします。
注意
サーバ印刷は推奨されない機能です。サーバでの帳票印刷はList Creatorを使用してください。
■ サーバ印刷で、電子フォームに指定した初期値やメディアデータが印刷されない
原因
サーバ印刷では、電子フォームに指定した初期値は有効になりません。
対処
印刷したいデータおよびメディア項目のファイル名をsetXMLData()メソッドで指定し、印刷を行ってください。
注意
サーバ印刷は推奨されない機能です。サーバでの帳票印刷はList Creatorを使用してください。
■ サーバ印刷時にendPrint()メソッドで印刷キャンセルを指定したが、キャンセルされない
原因
キャンセルのタイミングおよびプリンタドライバの指定によっては印刷がキャンセルされないことがあります。
対処
特にありません。
注意
サーバ印刷は推奨されない機能です。サーバでの帳票印刷はList Creatorを使用してください。
■ サーバ印刷時に電子フォームのプロパティの指定が有効にならない
原因
電子フォームのプロパティで指定する、次に示す情報はサーバ印刷時には有効になりません。
用紙種別
用紙名
印刷プリンタ名
給紙方法
給紙口名
印刷部数
印刷ダイアログを表示するかどうか
オーバレイを印刷するかどうか
メディア格納ディレクトリ
対処
印刷ダイアログの表示はサーバ印刷では指定できません。そのほかの情報は、Java APIを使用して指定してください。
注意
サーバ印刷は推奨されない機能です。サーバでの帳票印刷はList Creatorを使用してください。
■ 電子フォームをリムーバブルメディアに格納している場合に、OutputDataBuilderまたはPrintDataBuilderで内部エラーが発生する
原因
ドライブの準備ができていない場合に、内部エラーが発生することがあります。
対処
リムーバブルメディアをドライブに正しくセットし、電子フォームが読み取り可能であることを確認してください。
注意
PrintDataBuilderは推奨されないクラスです。サーバでの帳票印刷はList Creatorを使用してください。
■ fileプロトコルを利用しているJava APIで「指定された電子フォーム格納パスに誤りがあります」または、「指定された電子フォームが見つかりません」のイベントログまたは例外が生成される。
原因1
fileプロトコルで指定するパスを、URIエンコードしていない可能性があります。
対処1
fileプロトコルで指定するパスを、URIエンコードしているか確認してください。
詳細については3.2.2.1 URIエンコードについてを参照してください。
原因2
利用できない文字を指定している可能性があります。
対処2
利用できない文字を指定していないか確認してください。
詳細については「G.2 Webアプリケーションの設定値」の「■Java APIのパラメタの設定値」を参照してください。