【问题标题】:Problems connecting to Adobe Connect with CFHTTP in CF10在 CF10 中使用 CFHTTP 连接到 Adob​​e Connect 时出现问题
【发布时间】:2015-06-02 18:21:01
【问题描述】:

我正在尝试解决我们公司的平台与 Adob​​e Connect 集成时遇到的一些问题。让我感到困惑的是登录方法的间歇性故障。我们有一个客户的凭据经常失败,但并非总是如此。我在 try/catch 块中调用了登录方法,并将 CFHTTP 输出转储到电子邮件中并发送给我。这是一个失败示例,使用 cfhttp 标记 <cfhttp url="#httpCall#" method="GET" />

但是,当我通过浏览器调用登录方法时,使用 CFHTTP 标记调用的 URL 属性(例如http://[host].adobeconnect.com/api/xml?action=login&login=[username]&password=[password]&account-id=[id]),我得到以下回调:

<results>
     <status code="ok"/>
</results>

我得到的请求头如下:

因此,传入的凭据和响应都没有问题:当直接调用时,它确实返回了一个 MIME 类型的 text/xml。这表明 CFHTTP 标记存在问题,并且可能与我们为我们的一个客户或两者设置的 Adob​​e Connect 帐户有关。并非每次通过 CFHTTP 对 Adob​​e Connect 进行调用时都会发生这种情况,而且我们为某个特定客户设置的帐户似乎比我们设置的其他客户更经常发生这种情况。我们确实使用其他帐户获得了此问题,但是当我通过在未能返回 MIME 类型的 text/xml 时重复调用 API 登录方法来缓解它时,我们现在只能使用此帐户获得它。

我可以对这个 API 调用的 CFHTTP 标记做些什么来解决这个问题?

【问题讨论】:

    标签: web-services mime-types coldfusion-10 cfhttp adobe-connect


    【解决方案1】:

    错误详情为“连接失败”+“未知主机”,表示客户端没有从 Adob​​e Connect 服务器收到错误,而是无法通信完全可以。

    您已经编辑了完整的主机名,因此我无法测试其有效性,但我会首先验证它是否正确且可从您的工作站解析(使用 nslookup 或 dig),然后从出现故障的客户端计算机上执行相同操作。调查失败客户端的 DNS 解析:它是否在查询可靠的名称服务器等。症状可能表明客户端配置错误,例如具有错误的帐户域,但间歇性的性质表明并非如此。

    您还可以检查是否配置了代理或清除 CF DNS 解析器缓存。更多详情请参考this question

    【讨论】:

    • CF DNS 解析器缓存是我没有考虑过的一个角度。我之前没有考虑过的一个可能的角度是,我是否应该使用 CFHTTP 重新编写遗留代码来调用 API 并改用 CFINVOKE。我会看看您的建议,并尝试更改 API 的调用方式。
    • 由于错误是名称解析失败并且在客户端之间不一致,您可能要调查的另一件事是所涉及的域名。托管 Adob​​e Connect 使用 2 个 FQDN:帐户域名和集群域名。帐户域名是集群名称的 CNAME 别名(例如 max.adobeconnect.com -> na1cps.adobeconnect.com)。如果在某个时候更改了帐户域名,则旧名称可能不再有效。 (该帐户也可以移动到不同的集群,例如 na1cps 到 na2cps,但这不应导致未知主机错误。)
    【解决方案2】:

    布兰特,你指给我的那篇文章没有完整的答案,但它确实给了我一个线索。除了限制 JVM 的 DNS 缓存 TTL(虽然没有消除它,但确实减少了问题),Windows 服务器的 DHCP 设置还引用了一个存在问题的内部 DNS 服务器。当我们将这些设置更改为更可靠的 DNS 服务器时,解决 Adob​​e Connect 登录方法的问题就停止了。

    【讨论】:

    • 很高兴您解决了这个问题! FWIW,我认为我在回答中所说的“调查失败的客户端的 DNS 解析:它是否在查询可靠的名称服务器”解决了这方面的问题。希望能接受答案。 =)
    【解决方案3】:

    尝试在 url 的末尾保留 /,所以最后你的代码应该是

    <cfhttp url="#httpCall#/" method="GET" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 2020-08-05
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多