【问题标题】:Basic Authentication基本认证
【发布时间】:2009-12-29 17:00:03
【问题描述】:

我有一个名为 Dotnetpanel 的 VS 应用程序,它提供了很多 web 服务。

我创建了另一个 VS 应用程序,例如 TestModule,我需要在其中创建 Web 服务客户端。但是当我尝试在TestModule中创建客户端并调用webservice时,出现错误“The request failed with HTTP status 401: Unauthorized”。从我读过的一篇文章中

DotNetPanel API 实现为一组 SOAP Web 服务。

要求: WSE 3.0 或基本身份验证 ****每个 API 调用都应提供用户凭据****

基本身份验证: 要与 DotNetPanel API 交互,您应该使用基本身份验证。 DotNetPanel 使用以下格式提供的用户凭据识别“授权”标头:用户名:密码。

所以我的问题是我有一个可以传递给 TestModule 的用户凭据,然后我如何通过基本身份验证从 TestModule 调用 DotnetPanel 网络服务。

问候

菲尼克斯

【问题讨论】:

  • 在创建客户端或调用客户端时是否出现错误?您是否使用 add Web Services Reference 来创建cient?
  • 我在调用它时遇到了错误。错误是“请求失败,HTTP 状态 401:未经授权。”是的,我创建了一个包含大量网络方法的客户端。我的要求是访问一种网络方法,例如 GetDomains()。因此,在尝试访问此方法时,我收到了上述错误。 esMailServers esm = new esMailServers();邮件域[] md; int authResult = 1; // authResult=AuthenticateUser("用户名", "密码", "127.0.0.1", true, "", ""); md=esm.GetDomains(6, true); } 访问 GetDomains 时发生错误 –

标签: asp.net


【解决方案1】:

在我看来,您必须将这些凭据作为参数发送到 Web 服务。 尝试调用 Web 服务 url 以查看其方法。当直接从浏览器调用 Web 服务时,您必须能够看到方法列表,然后搜索您尝试使用的方法并单击它。您将看到 SOAP 请求和响应定义。您可以查看 Web 服务期望的参数。我认为如果它要求您提供凭据,那么那里必须有几个参数。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2018-02-14
    • 2012-03-27
    • 2018-09-04
    相关资源
    最近更新 更多