首页 > 解决方案 > 使用摘要身份验证问题在 Visual Studio 中使用 Dynamics NAV Web 服务

问题描述

我最近发布了有关使用 NTLM 访问 Dynamics NAV 2018 Web 服务时出现 401 错误的问题。可以在这里查看

因为 Dynamics NAV 有多个身份验证选项,所以我们尝试使用“用户名”选项,它使用摘要式身份验证来停止这些 401 错误。

可以在此处找到有关 Dynamics NAV 凭据类型选项的详细信息

遇到的问题是这个...

如果我们在 C# 解决方案中保留现有的 Web 代理类,因为它们在添加时保持不变(当 Web 服务使用带有 NTLM 的 Windows 凭据类型时)但在我们调用 Web 服务之后更改身份验证类型设置为在 Web 服务服务器上进行摘要,我们成功验证并在使用我们的应用程序时收到 200 响应。

但是,当我们尝试使用 Chrome 直接访问相同的 Web 服务(因此我们可以使用 Wizdler 进行调试)时,我们无法进行身份验证并生成 400 错误。

但是,如果 Web 服务发生更改,并且将其设置为使用用户名,并且我们尝试更新我们的 Web 引用,则会在 Visual Studio 中不断提示我们输入用户名和密码。每次输入所需的凭据时,都会再次出现相同的用户名和密码提示。我已经连续输入了至少 20 次,只是没有通过这个阶段。这意味着一旦将 Dynamics NAV Web 服务凭据类型设置为用户名,我们就无法再更新我们的 Web 引用。

我忍不住想我错过了这个拼图的一部分,但我不知道它是什么形状或颜色!

Web 服务服务器正在使用 SSL,并且可以通过其 https 地址访问服务(当我运行应用程序时,它会成功验证身份)

为了实现最终目标,我们需要做的就是允许 Visual Studio 更新 Web 引用,并在 Web 服务凭据类型为用户名(使用摘要)时能够从 Chrome/Wizdler 访问服务。

有没有人有这种设置的经验,或者知道这是否注定要失败并且永远不会起作用?

标签: visual-studioweb-servicesdigest-authenticationdynamics-nav

解决方案


推荐阅读