来自包含签名URL的iframe中的400个错误请求

问题描述:

今天我们注意到了DocuSign实现中的新不良行为。我们正在使用嵌入式签名方法。当表单加载来自包含签名URL的iframe中的400个错误请求

服务器端,我们生成查看收件人的地址。这部分工作正常。

然后我们将这个URL加载到窗体上的iframe中。 iframe只占用表格的一部分。

以前这是工作正常,但到今天为止,我们注意到一些错误。签署仪式仍然加载,但我们可以在开发人员工具的控制台中看到错误。他们似乎来自iframe内部。当我们删除iframe时,错误消失。

在开发人员工具控制台,示出了400(错误请求)被从https://demo.docusign.net/Signing/monitoring?insession=1&ti=4c6f3176cf8841b7885f76a4b5261744(图片下面)接收。这不是我们所调用的URL,所以它必须从iframe中调用。

签约仪式还是从用户的角度工作,但这个错误似乎是在页面的其余部分停止客户端脚本。当我们删除iframe时,其他一切正常。

任何帮助,将不胜感激。谢谢!

400 Bad Request - don't yet have 10 reputation to post images

+0

您没有提供图片... –

+0

对不起拉里。显然我不知道如何嵌入它,以便它显示在消息中。它只有在您点击“400错误请求”链接时才会显示。我将在下面回复您的文章后尝试修复格式。谢谢! – Chris

+0

看起来我需要10个声望来发布图片。它迫使我把它作为一个链接。谢谢你的提示。我现在知道如何做到这一点,当我的声誉上升。 – Chris

我们终于得到了这个工作。

我们改变了这种标记:

<iframe src="{SigningCeremonyUrl}" /> 

为了这个标记:

<iframe allow="geolocation" src="{SigningCeremonyUrl}"></iframe> 

正如你所看到的唯一区别是:

  • 新增allow="geolocation"(未解决问题本身)
  • 删除自行终止<iframe />标签和使用的开始和结束标记 (解决问题)

值得注意的发现:

的错误提出了自己在2017年11月10日。它在美国东部时间上午8点或上午9点演示,然后在一天结束时停止工作(3/4/5ish),而我们的结局没有任何变化。

  • 当我们删除包含签名仪式URL的iframe时,页面的其余部分工作正常。添加它重新创建了该问题。
  • 将iframe的URL更改为Google时,页面的其余部分工作正常。改变它重新创建了这个问题。
  • 当在整个窗口(没有iframe)中运行签署仪式URL并且打开开发工具时,它没有抛出任何JavaScript错误。
  • 当在iframe中运行并且开发人员工具处于打开状态时,我们看到的唯一错误就是上面问题中发布的错误。
  • 当在iframe中运行,以自行终止的HTML标签,我们进行了以下的测试,并且只收到1个警报:

    <script type="text/javascript">alert(0);</script> 
    <iframe ... /> 
    <script type="text/javascript">alert(1);</script> 
    
  • 当在iframe中运行,并与开发工具开放,它好像我们的JavaScript甚至不在那里。加载iframe时不会运行脚本。

嵌入一个iframe里面的签字仪式,不推荐。

有许多可用于维护应用程序的状态,而签约仪式正在进行多种技术。为什么你觉得需要一个iFrame?

这就是说,请提供有问题的envelope_id,我会提交一个内部错误报告。

请注意,您的应用收到的初始网址并非签署仪式的最终网址。作为该过程的一部分,对初始url的响应是重定向到另一个。很长时间以来一直如此。

+0

以下是创建信封调用的信封ID: 01deac85-63a3-41d9-9b61-2a599169d35c 以下是创建收件人视图调用的签名URL(是不是正确的URL?) : https://demo.docusign.net/Signing/StartInSession.aspx?t=75d71866-54ea-4710-bc72-b986e4afd576 我可以生成更多,如果你需要。 我们使用的是iframe,因为这就是设计团队的共同点。我会再次推迟这一点,但它正在工作,现在突然间它不是。我们的结尾没有代码更改。 – Chris

+0

尝试删除所有docusign Cookie或使用隐身浏览器标签。也许有一个陈旧的饼干。 –

+0

谢谢Larry。刚刚尝试在隐身模式下运行,在新的浏览器窗口中使用Google Chrome浏览器,但仍然看到相同的错误。 加载资源失败:https://demo.docusign.net/Signing/monitoring?insession=1&ti=ee671382ef0447aeacd750be393f86d7服务器响应的状态为400(错误请求) – Chris