第五十八章 CSP的常见问题 – HTTP请求失败

HTTP请求失败。无法处理超事件。这是什么意思?

当浏览器试图与CSP broker小程序通信但无法通信时,会发生超级事件错误。这可能与代码或配置有关。要确定问题是否出在代码上,请加载http://localhost:57772/csp/samples/zipcode.csp(其中57772Caché web服务器端口号。如有必要,用实际的web服务器端口替换57772,如果有外部web服务器正在运行(http://localhost/CSP/samples/zipcode.CSP ),则省略它,或者如果Caché是远程安装的,则用IP地址或机器名称替换localhost。)

在邮政编码页面上,单击#SERVER,在邮政编码框中输入邮政编码,如02142,然后按Tab键。如果没有收到超级事件错误,则说明配置正确,并且超级事件错误很可能是由编码错误引起的。

如果问题看起来与编码有关,那么有两件事需要寻找。在加载页面时,切勿使用#SERVER调用。这包括在<Body>标记的onLoad事件中调用它们,可以直接调用,也可以从onLoad中调用的JavaScript方法调用。它还包括从runat=\“服务器\”代码块的&js<>行中调用它们。如果需要在页面加载时调用方法,请在runat=\“服务器\”块中使用对象脚本语法。

<script language="cache" runat="server">
    // if method is located in the page or in a class the page inherits from
    d ..mymethod()
    // if class cannot be called using dot syntax
    d ##class(User.MyClass).mymethod()
</script>

我收到一条错误消息,指出我的例程中的某一行有问题,但我找不到int例程。它在哪里?

根据当前的设置,在编译CSP页面时可能不会保留源代码。要强制Caché维护此源代码,可以执行以下两种操作之一:

  • 在选中生成的源代码的情况下,从Studio编译CSP页面。在Studio中,单击工具>选项>编译器>常规标志。选中保留生成的源代码复选框。然后,要编译CSP页面,请单击Build>Compile。
  • 使用k标志从终端编译CSP页面以保存生成的源代码。在Terminal,验证是否在正确的名称空间中。(如果没有,请输入:Zn “<namespace>”.)。要编译您的csp页面,输入:Do $System.CSP.LoadPage(“/csp/<namespace>/<pagename>.csp”, “ck”)。例如:
 Do $System.CSP.LoadPage("/csp/samples/james.csp", "ck")

要查找生成的源代码:

打开Studio并验证是否在正确的名称空间中。单击文件>打开。在“文件类型”列表中,单击“中间例程(*.int).。找到csp.<csp_page_name>.x.INT,其中x是该例程在系列中的编号。大型CSP页面被分成多个INT例程。包含错误的文件的编号显示在最初收到的错误消息中。

当我运行我的CSP页面时,#(变量)#出现在浏览器中。为什么没有用变量中的数据替换它?

这表明CSP页面没有被Caché CSP编译器正确解析。确保通过web服务器运行页面,如下所示:http://localhost/csp/<namespace>/page.csp.

当我尝试加载我的CSP页面时,为什么会收到无效字符错误信息?

如果不是通过web服务器加载页面,此错误很常见,因为浏览器不知道如何表示CSP语法。如果URL看起来像C:/install-dir/csp/user/mypage.csp,,没有通过web服务器加载。

URL应该类似于http://localhost:57772/csp/user/mypage.csp or http://localhost/csp/user/mypage.csp.

这些消息也可能是由于没有正确转换为ObjectScript方法调用的#server()#调用造成的。在浏览器中,右键单击并查看页面的源代码。如果源文件仍然包含#server,则语法可能不正确。请确保其格式正确:#server(..methodname())#

如果要将字符串传递给方法,它们必须在双引号("")内。一旦CSP页面被编译成HTML,所有的#server()#调用都被转换成对csprunservermethod()的调用。

为什么我的CSP标签没有被解析?

web服务器没有正确地将CSP页面传递到CSP网关进行解析。

CSP记录错误吗?如何增加日志记录,日志在哪里?

  • 如果存在内部错误,如自定义错误页面中的错误,它将被记录到BACK^%ETN错误日志中。如果在此日志中收到与自定义错误页面无关的内部错误,则可能是核心CSP引擎有问题,您应该联系在新选项卡中打开的InterSystems world wide Response Center(WRC)

  • 通过调用用户定义的错误页来记录其他错误,用户可以在该页中添加自己的日志记录功能。

原文地址:http://www.cnblogs.com/yaoxin521123/p/16926857.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性