第五十四章 CSP错误注释
本章描述了特定CSP错误的原因和解决方法。
CSP错误代码、错误消息和报告时间
Error Code | Error Message | When Reported |
---|---|---|
5902 |
规则“%1 ”不存在 |
如果指定了不存在的规则名称,则调用%apiCSP 向规则添加属性时会报告此问题。 |
5903 |
规则名称是必需的 | 如果尝试添加或删除规则,但没有提供规则的名称,则会报告。 |
5904 |
第%3行的标记“<%1> ”需要属性“%2 ” |
如果没有为CSP 页面中的标签提供必需的属性,则会报告。没有这个必需的属性,页面无法编译。 |
5905 |
属性%1 的值“%2 ”无效,位于第%3 行 |
如果CSP页面中的属性值不是有效的选择,则报告。例如,如果定义了<script language="Cache" runat="XXXXX"> ,则runat 值不是有效的选择。CSP 编译器无法编译此页面并报告此错误。 |
5906 | 缺少会话ID | 如果创建%CSP.Session 的实例,而不在%New 方法中提供会话ID ,则会报告此问题。例如,Set session=##class(%CSP.Session).%New() 报告了此错误,但Set session=##class(%CSP.Session).%New(1234) ”不传递会话ID 1234 。 |
5907 |
Session ID '%1' does not exist |
如果加载现有的%CSP.Session ,则会报告此问题。但向%OpenId 传递一个不存储在Caché中的会话Id 。 |
5908 |
Failed to create class '%1': %2 |
如果CSP 编译器无法创建对应于CSP 页的类,则由CS 编译器报告。 |
5909 |
第%2 行的标记< %1 > 没有结束标记 |
如果CSP 编译器检测到打开了一个标记但从未关闭它(如果标记指定它在规则定义中需要一个关闭标记),则报告。 |
5911 |
字符集“%1 未安装,无法执行字符集转换 |
如果Caché 中未安装在CSP 页面中指定用于输出此页面的字符集,则报告此问题。是%response.CharSet 中指定的字符集。OnPreHTTP 方法中的CharSet 属性,或者使用 <csp:content charset="xxx"> 标记或 <meta http-equiv="Content-Type" content="text/html; charset=xxx"> 。请参阅类%CSP.Page 的charset 属性。检查是否打算使用错误中报告的字符集,如果是,请检查它是否安装在Caché 中。或者通过设置%response.CharSet 在OnPreHTTP 方法中。 |
5912 |
CSP Page '%1' does not exist |
如果请求不存在的CSP 页面,则会报告此问题。可能键入了错误的URL,或者另一个CSP 页面上的链接可能不正确。检查服务器上是否存在该页面,如果不存在,则查找链接的来源。如果该页应该存在,请确保CSP 应用程序设置正确设置为指向正确的目录,并检查磁盘上是否存在CSP 文件。只有当autocompile 选项打开,并且CSP 引擎试图编译此页面但找不到文件时,才会出现此错误。 |
5914 |
CSP Application '%1' does not exist |
在CSP 应用程序列表中找不到URL的应用程序部分时报告。例如,加载类型为cspx而非csp 的页面/cspx/samples/menu.csp ,则Caché无法找到csp 应用程序。在管理门户中导航到系统管理>安全>应用程序> Web 应用程序,检查应用程序列表,并检查命令是否有错误。 |
5915 |
Cannot allocate a license |
报告是否已达到许可证限制,因此无法批准CSP 会话的新请求。可以减少CSP应用程序配置中指定的CSP会话的默认超时,或者需要考虑购买更多许可证。 |
5916 |
Illegal CSP Request |
当通过输入URL 而不是从另一个包含加密令牌的CSP 页面重定向来访问某个私人页面,或者使用无效的加密令牌来访问该私人页面时,会报告此问题。 |
5917 |
HTTP method '%1' not supported by CSP |
当尝试使用不支持的HTTP 方法时会报告此问题。支持的HTTP 方法有GET、POST、HEAD 。我们目前不支持CSP 服务器中的其他HTTP 方法。这也可能是由与CSP 服务器通信的CSP 网关的不兼容版本引起的。 |
5918 |
已注销,不能再执行该操作 | 如果CSP 请求包含加密数据,但会话是全新的会话,因此解密密钥无法匹配加密数据,则会报告此问题。这通常是因为会话已超时。然后,用户随后在浏览器中做了一些事情来引起另一个请求。可以增加会话超时值,或者使用错误机制将用户重定向到初始页面,以便他们可以再次开始他们的操作。 |
5919 |
请求的操作无效 | 当从CSP 页向Caché传递加密字符串时,如果解密密钥与用于加密该数据的密钥不匹配,通常会报告此问题。这可能是由于用户手动篡改URL或任何可能改变在Caché中生成的加密字符串和在下一个HTTP 消息中返回Caché的加密字符串之间的值的情况造成的。 |
5920 |
必须从命名空间“%1 ”运行此CSP 页面 |
每个CSP 应用程序都绑定到Caché中的一个特定名称空间。当/csp/samples 应用程序绑定到samples 命名空间时,如果从用户命名空间中的/csp/samples/loop.csp 编译页面,则会报告此错误。 |
5921 |
CSP 应用程序“%1 ”必须指定一个运行的命名空间 |
报告CSP 应用程序的配置是否缺少命名空间。这通常表明CPF 文件被错误地手工编辑过,因为管理门户不允许创建没有名称空间的CSP 应用程序。 |
5922 |
等待响应超时 | 在等待来自与其对话的HTTP 服务器的响应超时时,由%Net.HttpRequest 对象报告。 |
5923 |
重定向%1 次,似乎是重定向循环 |
如果在一个页面中检测到4 个以上的重定向,则报告。编译器假定存在循环。如果CSP 页面使用ServerSideReDirect 跳转到另一个页面,则页面A.csp 有可能重定向到B.csp ,而B.csp 则重定向到A.csp ,从而创建循环。 |
5924 |
出现错误,无法显示指定的错误页面-请通知网站管理员 | 当CSP 页中的错误在运行时发生时,CSP 引擎将重定向到用户指定的错误页,该错误页可以以其希望的任何方式处理错误。但是,如果此用户指定的错误页不存在或在生成此错误页时出错,则CSP 引擎将使用BACK^%ETN 记录出现错误的事实,并报告此错误消息。如果用户编写的错误页面中存在错误,则生产系统上可能会出现此错误,因此该消息故意含糊不清。要解决此错误,请首先检查CSP应用程序中指定的错误页是否存在,然后查看此错误页中可能存在的错误。 |
5925 |
第%1 行上的&<SCRIPT LANGUAGE=Cache> 标记缺少RUNAT 或方法属性 |
R 如果 <script language="Cache"> 标记缺少必需的属性runat (告诉CSP 编译器何时应该运行此代码)或用于创建新方法的方法属性,则会报告。 |
5926 |
无法重定向,因为已写入并刷新了HTTP 标头 |
如果在将数据写入浏览器后尝试使用服务器端重定向,则报告。如果尝试使用%Response.ServerSideReDirect 功能重定向到另一页,则必须在将任何数据写回浏览器之前完成此操作。通常,这意味着必须在页面的OnPreHTTP() 方法中执行此操作。 |
5927 |
无法加载页面‘%1 ’,因为它的类名与已加载的类‘%2 ’冲突 |
如果在同一名称空间中的不同应用程序中有两个同名的CSP 文件,则报告:例如,如果有两个CSP 应用程序/test 和/anthertest ,这两个应用程序都在用户名称空间中。它们位于缓存服务器上的不同目录中,每个目录都有一个est.csp 文件。如果打开了自动编译并输入URL/test/est.csp ,CSP 编译器会将该页面编译成csp.test 类。如果输入URL/anthertest/est.csp ,它会尝试加载此页面以创建csp.test 类,发现它已经存在于不同的应用程序中,并报告此错误。如果不这样做,将看到性能非常差,因为每个请求都会重新编译整个页面。或者避免在相同的命名空间中使用相同的文件名,或者更改在CSP 应用程序中定义的包,该应用程序默认为CSP 。例如,更改/anthertest 以使用包名为Package 。然后,当它编译est.csp 时,它会创建类名Package.test ,该名称不会与使用csp.test 的其他应用程序冲突。 |
5931 |
在开始显示页面之前,只能在OnPreHTTP() 中调用此方法/设置此值 |
如果调用需要在页的OnPreHTTP() 方法中调用的函数,以便它可以在将任何数据输出到浏览器之前修改某些参数,则报告。将此调用移动到OnPreHTTP 方法以解决此问题。 |
5932 |
此操作对Web 服务器上的此版本的CSP网关无效 |
如果使用的CSP 网关版本不支持此操作,则报告。请不要使用此功能,或者将CSP网关的版本升级到更高版本。 |
5933 |
CSP 服务器出现内部错误:%1 |
在CSP 引擎内部发生意外错误情况时报告。请将此情况报告给 Support 。 |
5954 |
无法锁定CSP 页面。 |
当CSP 页被自动编译时,它首先被锁定,以确保两个作业不会同时尝试编译同一页。如果其他作业在60 秒内没有释放锁,则会假定编译因某种原因而失败,并报告此错误消息。尝试从Studio 重新编译此页,以查看是否报告了任何错误。 |
5955 |
CSPAppList 查询:FETCH() 中的数据无效。 |
如果用于确定CSP 应用程序列表的查询无效,则报告。此错误在工作正常的系统上永远不会出现。 |
5956 |
CSP 应用程序‘%2 ’的目录‘%1 ’不存在 |
CSP应用程序指向的目录在文件系统中不存在时报告。 |
5961 |
无法转换字符集‘%1 ’。 |
在来自浏览器的请求传入时报告。浏览器发送的信息被转换为当前缓存的默认区域设置,出现错误。要调试转换,请隔离浏览器发送的信息,并在测试程序中手动将其从该字符集转换。 |
5962 |
无法分配新会话。 | 如果此会话ID中没有新槽,则在调用%ession.ForceNewSession() 时报告。 |
5963 |
无效的系统日志级别:%1 |
如果内部日志级别超出允许范围,则在设置该级别时报告。 |