ASP.net 使用 WCF 服务参考的 Web 服务 *.asmx 访问
ASP.net Webservice *.asmx access with WCF Service Reference
假设我有一个 ASP.net Web 服务。带有 *.asmx-Files 的旧版本。在 IIS 8 上运行
当我尝试使用 WCF 服务客户端通过 "Add Service Reference" 在 Visual Studio 中访问它时,它不起作用。
我的问题是 "Basic HTTP Authentication"..
错误信息
{"Die HTTP-Anforderung ist beim Clientauthentifizierungsschema \"Anonymous\" nicht autorisiert. Vom Server wurde der Authentifizierungsheader \"Basic Realm=\"WebsitePanel Enterprise Server\"\" empfangen."}
已翻译
{"The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm=\"WebsitePanel Enterprise Server\"'"}
当我使用 "Web Reference" 时它确实有效。 [我正在使用 WebsitePanel 并尝试访问其企业服务器 Web 服务(asmx 文件)]
是否可以将旧的 ASMX-Webservices 与 "WCF Service Reference"-Clients 一起使用?
有人可以解释一下差异,我应该使用什么吗?
根据对您问题的评论,我假设您忘记提供一些身份验证信息。通过在代理对象中提供有效的用户名和密码,您应该能够调用该服务:
client.ClientCredentials.UserName.UserName = "foo";
client.ClientCredentials.UserName.Password = "bar";
client.SomeMethod();
此外,您应确保将配置设置为 Transport
(或 TransportCredentialOnly
和 clientCredentialType="Basic"
):
<bindings>
<basicHttpBinding>
<binding name="myBinding">
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm="WebsitePanel Enterprise Server" />
</security>
</binding>
</basicHttpBinding>
</bindings>
要获取更详细的错误信息,请配置跟踪:http://msdn.microsoft.com/en-us/library/ms733025%28v=vs.110%29.aspx
假设我有一个 ASP.net Web 服务。带有 *.asmx-Files 的旧版本。在 IIS 8 上运行
当我尝试使用 WCF 服务客户端通过 "Add Service Reference" 在 Visual Studio 中访问它时,它不起作用。
我的问题是 "Basic HTTP Authentication"..
错误信息
{"Die HTTP-Anforderung ist beim Clientauthentifizierungsschema \"Anonymous\" nicht autorisiert. Vom Server wurde der Authentifizierungsheader \"Basic Realm=\"WebsitePanel Enterprise Server\"\" empfangen."}
已翻译
{"The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm=\"WebsitePanel Enterprise Server\"'"}
当我使用 "Web Reference" 时它确实有效。 [我正在使用 WebsitePanel 并尝试访问其企业服务器 Web 服务(asmx 文件)]
是否可以将旧的 ASMX-Webservices 与 "WCF Service Reference"-Clients 一起使用? 有人可以解释一下差异,我应该使用什么吗?
根据对您问题的评论,我假设您忘记提供一些身份验证信息。通过在代理对象中提供有效的用户名和密码,您应该能够调用该服务:
client.ClientCredentials.UserName.UserName = "foo";
client.ClientCredentials.UserName.Password = "bar";
client.SomeMethod();
此外,您应确保将配置设置为 Transport
(或 TransportCredentialOnly
和 clientCredentialType="Basic"
):
<bindings>
<basicHttpBinding>
<binding name="myBinding">
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm="WebsitePanel Enterprise Server" />
</security>
</binding>
</basicHttpBinding>
</bindings>
要获取更详细的错误信息,请配置跟踪:http://msdn.microsoft.com/en-us/library/ms733025%28v=vs.110%29.aspx