我正在更新我们已经使用了 10 多年的旧工具,它类似于 SoapUI,但基于 C#。原始代码使用此功能连接到 WCF Web 服务并下载 WSDL 信息:
DiscoveryClientProtocol discoveryClientProtocol = new DiscoveryClientProtocol();
discoveryClientProtocol.AllowAutoRedirect = true;
discoveryClientProtocol.UseDefaultCredentials = true;
discoveryClientProtocol.DiscoverAny(serviceDescriptionURL.URL);
discoveryClientProtocol.ResolveAll();
我们最近将 WCF Web 服务迁移到了云端,我需要能够将包含所有请求的身份验证标头发送到 URL。我知道 DiscoveryClientProtocol 继承自 HttpWebClientProtocol 和 WebClientProtocol,但到目前为止我还没有想出如何修改代码以包含标头。
我尝试使用 CookieContainer() 集合来查看添加 System.Net.Cookie 是否会转换为身份验证标头,但到目前为止,所有添加 cookie 的尝试都失败了,并出现各种错误消息。我不知道这是否是正确的下去。
我还使用 Fiddler 捕获了我的流量,可以看到请求遇到了预期的身份验证错误。如果我使用正确的标头在 Fiddler 中重新运行请求,它就可以正常工作。我只需要了解是否有办法以编程方式添加该标头。
这可能吗?如果是这样,我需要做什么来添加标头或身份验证?
提前致谢!