C# 在来自c的soap请求中设置WSS密码类型
我正在尝试调用第三方wsdl服务。我在visual studio 2019、.net framework 4.7.2中使用添加服务引用生成了类。我正在尝试使用以下代码访问服务:C# 在来自c的soap请求中设置WSS密码类型,c#,wcf,soap,wsdl,C#,Wcf,Soap,Wsdl,我正在尝试调用第三方wsdl服务。我在visual studio 2019、.net framework 4.7.2中使用添加服务引用生成了类。我正在尝试使用以下代码访问服务: var binding = new BasicHttpBinding(); binding.Security.Mode = BasicHttpSecurityMode.Transport; binding.Security.Transport.ClientCredentialType = HttpClientCrede
var binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
var endpoint = new EndpointAddress("https://third-party-url/service/?wsdl");
var client = new MyNamespace.Client(binding, endpoint);
client.ClientCredentials.UserName.UserName = "user";
client.ClientCredentials.UserName.Password = "password";
var param = new ServiceFunctionDTO();
client.Open();
client.function(param);
在函数调用时,我发现异常处理wsse:Security头时发现错误。
soapUI中的相同函数调用适用于WSS Password type=PasswordText属性集。我在这里看到了一些类似的问题,比如
,但他们的解决方案对我不起作用。
可能我遗漏了什么,非常感谢您的帮助。您是在VS内部运行还是在VS外部运行可执行文件?在VS中,默认情况下,您不会以管理员身份运行。您必须右键单击VS快捷方式并选择“以管理员身份运行”。看起来您运行的c用户帐户的凭据与运行wsdl的用户帐户的凭据不同。