当我尝试进行SOAP调用时,出现以下错误。
soap:ClientGeneral安全错误(WSSecurityEngine:No 提供用于解密的加密属性文件)
任何人都可以解释可能触发它的原因吗? 谢谢,
UsernameForCertificateAssertion assertion = new UsernameForCertificateAssertion();
// Set the X509 Certifcate onto the assertion.
assertion.X509TokenProvider = new X509TokenProvider(StoreLocation.LocalMachine,
StoreName.My,
"3264763f000100000745",
X509FindType.FindBySerialNumber);
UsernameTokenProvider token = new UsernameTokenProvider("wsibtITStest-200024932", "T3sting!+$");
assertion.UsernameTokenProvider = token;
Policy policy = new Policy();
policy.Assertions.Add(assertion);
service.SetPolicy(policy);
X509SecurityToken secToken = new X509SecurityToken(col[0]);
service.RequestSoapContext.Security.Tokens.Add(secToken);
service.ping();
服务是Web服务的实例。 我不知道我是否遗漏了什么。
谢谢,
答案 0 :(得分:1)
听起来您正在调用的Web Service使用X.509证书实现WS-Security。
您必须联系Web服务的作者进行验证,并让他们为您提供加密请求所需的证书。
答案 1 :(得分:0)
这是一个通用的加密消息。我之前没有正确设置解密处理程序时就已经看过了。我要说验证它的设置正确,并确保你使用与加密相同的解密(我已经看到了我工作的一些人)。
如果这不起作用,您可以发布您的配置以及错误的所有详细信息吗?