CSP エラーの注釈
この章では、CSP エラーをいくつか選択し、その原因や解決法について説明します。
CSP エラー・コード、エラー・メッセージ、およびエラー発生条件
エラー・コード | エラー・メッセージ | エラー発生条件 |
---|---|---|
5902 | ルール %1 は存在しません。 | %apiCSP を呼び出してルールに属性を追加するときに、存在しないルール名を指定すると発生します。 |
5903 | ルール名が必要です。 | ルールを追加または削除するときに、そのルールの名前を指定していない場合に発生します。 |
5904 | 行番号 %3 のタグ '<%1>' には属性 '%2' が必要です。 | CSP ページのタグに必須属性を指定しなかった場合に発生します。この必須属性を指定しないとページをコンパイルできません。 |
5905 | 行番号 %3 にある属性 %1 の値 %2 は無効です。 | CSP ページ内の属性値が無効である場合に発生します。例えば、<script language="Cache" runat="XXXXX"> を定義すると、runat 値は無効です。CSP コンパイラはこのページをコンパイルすることはできず、このエラーを報告します。 |
5906 | セッション ID が見つかりません。 | %New メソッドでセッション ID を指定せずに %CSP.SessionOpens in a new tab のインスタンスを作成しようとした場合に発生します。例えば、Set session=##class(%CSP.Session).%New() を指定すると、このエラーが発生しますが、Set session=##class(%CSP.Session).%New(1234) を指定すると、セッション ID 1234 が渡されるのでエラーは発生しません。 |
5907 | セッション ID %1 は存在しません。 | 既存の %CSP.Session をロードするときに、Caché に格納されていないセッション ID を %OpenId に渡そうとすると発生します。 |
5908 | クラス %1: %2 の作成に失敗しました。 | CSP ページに対応するクラスが生成できない場合、CSP コンパイラによってこのエラーが報告されます。 |
5909 | 行番号 %2 のタグ <%1> に終了のタグがありません。 | ルール定義で終了タグが要求されているタグを開いた後、終了タグを記述していないと発生します。 |
5911 | 文字セット %1 がインストールされていないため、文字セットの変換を実行できません。 | このページを出力するために CSP ページで指定された文字セットが、Caché にインストールされていない場合に報告されます。これは、OnPreHTTP メソッドの %response.CharSet プロパティに指定された文字セット、または <csp:content charset="xxx"> タグまたは <meta http-equiv="Content-Type" content="text/html; charset=xxx"> タグを使用して目的のページで指定した文字セットです。%CSP.PageOpens in a new tab クラスの charset プロパティを参照してください。エラーで報告された文字セットを使用するかどうかを確認し、使用する場合は、その文字セットを Caché にインストールするか、OnPreHTTP メソッドの %response.CharSet プロパティを設定します。 |
5912 | CSP ページ %1 は存在しません。 | 存在しない CSP ページを要求すると発生します。URL のスペルが間違っているか、他の CSP ページへのリンクが正しくありません。このページがサーバに存在するかどうかを確認し、存在しない場合はリンク元を確認します。ページが存在する場合は、CSP アプリケーションが正しいディレクトリを指すように設定されているか、また CSP ファイルがディスクに存在するかを確認します。このエラーは、autocompile オプションがオンの状態で、CSP エンジンがこのページにアクセスしてコンパイルしようとしてもファイルが見つからない場合に発生します。 |
5914 | CSP アプリケーション %1 は存在しません。 | URL のアプリケーション部分が CSP アプリケーション・リストで見つからない場合に発生します。例えば、/cspx/samples/menu.csp というページをロードするときに、csp ではなく cspx と入力すると、Caché は正しい CSP アプリケーションを見つけることができません。管理ポータルの [ウェブアプリケーション] ページ (システム, セキュリティ, ウェブアプリケーション) でアプリケーションのリストを確認し、コマンドに誤りがないか確認します。 |
5915 | ライセンスを割り当てることができません。 | ライセンス数が上限に達しているので、CSP セッションに対する新しい要求が許可されない場合に発生します。CSP アプリケーション構成で指定されている、CSP セッションの既定のタイムアウトを減らすか、ライセンスを追加購入する必要があります。 |
5916 | 不正な CSP 要求です。 | プライベート・ページにアクセスする際に、このページにアクセスできる暗号化されたトークンを持つ CSP ページからのリダイレクトではなく、URL の直接指定でアクセスしようとすると、このエラーが発生します。また、暗号化されたトークンが無効である場合も、このメッセージが報告されます。 |
5917 | CSP は HTTP メソッド %1 をサポートしていません。 | サポートされていない HTTP メソッドを使用しようとすると発生します。サポートされる HTTP メソッドは GET、POST、HEAD の 3 つです。現在、他の HTTP メソッドは CSP サーバではサポートされていません。また、CSP サーバと通信している CSP ゲートウェイのバージョンが適合しない場合も、このメッセージが得られます。 |
5918 | ログアウトされているため、動作を実行できません。 | CSP 要求には暗号化されたデータが含まれていても、セッションが新規であるため、解読キーが暗号化されたデータに一致しない場合に発生します。普通は、セッションがタイムアウトしていることが原因です。ユーザは引き続いて、ブラウザでもう一度要求を発生させるような何らかの操作を実行します。セッションのタイム・アウト値を増やしたり、ユーザを初期ページに転送するエラー・メカニズムを使用して、アクションを再開することができます。 |
5919 | 要求した動作は無効です。 | 一般的に、暗号化された文字列を CSP ページから Caché に渡すとき、データを暗号化する際に使用したキーと解読キーが一致しない場合に発生します。これは、ユーザが URL を手作業で変更したり、暗号化された文字列が Caché で生成された後、次の HTTP メッセージで Caché に返送されるまでの間に文字列の値が何らかの形で変更された場合に発生します。 |
5920 | ネームスペース %1 からこの CSP ページを実行する必要があります。 | 各 CSP アプリケーションは、Caché の特定のネームスペースと連携しています。例えば、/csp/samples が SAMPLES ネームスペースに結び付けられているにもかかわらず、USER ネームスペースの /csp/samples/loop.csp からページをコンパイルしようとしたときなどに、このエラーが発生します。 |
5921 | CSP アプリケーション %1 は実行先ネームスペースを指定する必要があります。 | CSP アプリケーションの構成にネームスペースが指定されていない場合に発生します。管理ポータルではネームスペースを指定せずに CSP アプリケーションを作成することはできないので、一般的にこのエラーは、CPF ファイルが手動で不正に改変されていることを示します。 |
5922 | 返答待ち時間のタイムアウトです。 | 通信中の HTTP サーバからの応答を待機している %Net.HttpRequestOpens in a new tab オブジェクトがタイムアウトになると発生します。 |
5923 | %1 回リダイレクトされました。リダイレクションループと考えられます。 | 1 つのページで 5 個以上のリダイレクトが検出された場合に発生します。この場合、コンパイラはループが存在するものと見なします。CSP ページで他のページに移動するために ServerSideRedirect を使用している場合、A.csp ページが B.csp にリダイレクトされていて、そこから A.csp にリダイレクトされていると、ループが発生します。 |
5924 | エラーが発生しましたが指定されたエラーページが表示できませんでした - Web マスタに通知してください。 | CSP ページ内で実行中にエラーが発生した場合、CSP エンジンはユーザが指定したエラー・ページにリダイレクトされます。このエラー・ページでは、柔軟にエラーを処理できます。しかし、ユーザが指定したエラー・ページが存在しない場合、またはそのエラー・ページを生成する過程でエラーが発生した場合、CSP エンジンは BACK^%ETN を使用して、何らかの問題が発生したという事実をログに記録し、このエラー・メッセージを表示します。ユーザが作成したエラー・ページにバグがあると、プロダクション・システムでもこのエラーが発生することもあるので、このメッセージは故意にあいまいな表現になっています。このエラーを解決するためには、まず CSP アプリケーションで指定されたエラー・ページが存在することを確認し、次にそのエラー・ページにバグがないか検証します。付録のよくある質問で、このエラーに関する質問も参照してください。 |
5925 | <SCRIPT LANGUAGE=Cache> タグの行番号 %1 に、RUNAT または METHOD のいずれかの属性がありません。 | このコードを実行するタイミングを CSP コンパイラに指示するために必要な runat 属性、または新規メソッドを作成する method メソッドが、<script language="Cache"> タグにない場合に発生します。 |
5926 | HTTP ヘッダが記述されフラッシュされたため、転送できません。 | データがブラウザに書き込まれた後で、サーバ側のリダイレクト機能を使おうとすると発生します。%response.ServerSideRedirect 機能を使用して他のページにリダイレクトする場合は、ブラウザに何らかのデータが返送される前に実行する必要があります。つまり、通常はページの OnPreHTTP() メソッド内で実行する必要があります。 |
5927 | ページ %1 のクラス名と既にロードされているクラス %2 とが競合するため、このページをロードできません。 | 別々のアプリケーションから、同じネームスペースに同じ名前を持つ 2 つの CSP ファイルを設定すると発生します。例えば、USER ネームスペースに /test と /anothertest という 2 つの CSP アプリケーションがあり、それぞれは Caché サーバの異なるディレクトリに存在し、それぞれのディレクトリに test.csp ファイルがあるとします。autocompile をオンにして URL /test/test.csp を入力すると、CSP コンパイラはこのページをクラス csp.test にコンパイルします。URL /anothertest/test.csp を入力すると、コンパイラはクラス csp.test を作成するためにこのページをロードしようとしますが、別のアプリケーションで既に存在するので、このエラーが発生します。エラーが発生しない場合は、要求が発生するたびにページ全体をリコンパイルするといった、低機能の動作をします。同じネームスペースで同じファイル名を使用することを避けるか、CSP アプリケーションに定義されたパッケージを変更します。このパッケージは、既定では csp に設定されます。例えば、パッケージ名 package を使用するように /anothertest を変更します。これで test.csp をコンパイルすると、csp.test を使用する他のアプリケーションと競合しないクラス名 package.test が生成されます。 |
5931 | ページが表示される前にのみ、OnPreHTTP() にこのメソッドを呼び出すか、値を設定できます。 | 何らかのデータがブラウザに出力される前にいくつかのパラメータを変更できるようにページの OnPreHTTP() メソッドで呼び出すことになっている関数を直接呼び出した場合に発生します。これを解決するには、この呼び出しを OnPreHTTP メソッドに移動します。 |
5932 | Web サーバ上のこの CSP ゲートウェイ・バージョンで、動作は無効です。 | 使用している CSP ゲートウェイが、この動作をサポートしていないバージョンである場合に発生します。この機能を使用しないか、CSP ゲートウェイのバージョンを新しいものにアップグレードしてください。 |
5933 | CSP サーバに内部エラーがあります: %1 | CSP エンジンで、予期しないエラー状況が発生した場合に発生します。インターシステムズのサポート窓口に連絡してください。 |
5954 | CSP ページのロックに失敗しました。 | CSP ページが自動コンパイルされるとき、2 つのジョブが同時に同じページをコンパイルしないように、最初にこれをロックします。片方のジョブによって 60 秒以内にロックが解除されない場合、何らかの原因でコンパイルに失敗したと見なされ、このエラーメッセージが表示されます。スタジオからこのページをリコンパイルして、エラーが発生するかどうかを確認します。 |
5955 | CSPAppList クエリ : Fetch() に無効なデータがあります。 | CSP アプリケーションのリストを決定するための問い合わせが無効である場合に表示されます。このエラーは、実行中のシステム上では発生しません。 |
5956 | CSP アプリケーション %2 のディレクトリ %1 は存在しません。 | CSP アプリケーションで指定されたディレクトリがファイルシステムに存在しない場合に発生します。 |
5961 | 文字セット %1 を変換できません。 | ブラウザから要求を受け取ったときに発生します。ブラウザから送信された情報がCaché の現在の既定のロケールに変換されたときにエラーが発生しました。変換をデバッグするには、ブラウザから送信された情報を切り離し、テストプログラムの中で手動でその文字セットを変換します。 |
5962 | 新規セッションを割り当てることができません。 | このセッション ID に新規スロットが存在しないときに %session.ForceNewSession() を呼び出すと発生します。 |
5963 | 無効な SysLog レベルです: %1 | 内部ログ・レベルを設定するとき、レベルが許容範囲外に設定されている場合に発生します。 |