将身份验证标头添加到 DiscoveryClientProtocol.DiscoverAny() 请求

问题描述 投票:0回答:0

我正在更新我们已经使用了 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 中重新运行请求,它就可以正常工作。我只需要了解是否有办法以编程方式添加该标头。

这可能吗?如果是这样,我需要做什么来添加标头或身份验证?

提前致谢!

c# azure wcf wsdl apim
© www.soinside.com 2019 - 2024. All rights reserved.