我对 Web 服务比较陌生,但我有一个在 Visual Studio C# 中使用/包装的 Web 服务,其结尾为Service.asmx
我在哪里做的Add Service Reference
它吸收了所有显示的元素Service.asmx?wsdl
.
它有对象Username
and Password
效果很好,但现在创建此 Web 服务的公司正在更改为令牌身份验证,我可以在其中获取 GUID 令牌并将 null 传递给这些元素。
那么,网络服务不应该在我传递令牌的地方显示一个新元素吗?
有人告诉我令牌在带有字段名称的标头中传递Auth-Token
。那么这是我应该做的显而易见的事情还是 WSDL 需要更新?
所以我找到了更多可能对其他人有帮助的信息。我将该服务添加为“服务参考”,这是更高级的 WCF,但它是一个asmx
参考是“网络参考”。
添加服务引用时,如果单击高级选项,则会出现使用 .Net 2.0 样式的较旧的“Web 引用”选项。
从那里,您只需选择代理类并覆盖System.Net.WebRequest GetWebRequest
像这样的方法:
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
request.Headers.Add("Auth-Token", this.authToken);
return request;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)