通过WCF调用时,HttpWebRequest失败

时间:2013-08-09 15:53:55

标签: c# wcf deployment service httpwebrequest

我写了一段将SOAP信封传递给客户端的代码。请求带有证书,有效负载使用证书签名。我写了一个测试工具,它使用HttpWebRequest成功调用服务器。源已集成到另一个项目,即WCF服务。我们使用SoapUi来调用我们的服务,而服务又使用HttpWebRequest来调用客户端。当我们部署测试工具或我们的服务时,它将位于同一服务器上的同一应用程序文件夹中。

据我所知,我和我们的来源之间没有材料差异。但是,它们的代码总是因证书错误而失败:“底层连接已关闭:无法为SSL / TLS安全通道建立信任关系”。之前已经讨论过这个错误,最完整的讨论似乎在这里(Error: C# The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel),但所涵盖的方法对我没有用。

HttpWebRequest的行为会因为从WCF服务中调用而改变吗?我不知道接下来要去哪里看。

1 个答案:

答案 0 :(得分:0)

错误表示主叫方(在这种情况下,您的服务)不信任服务器使用的证书。交互式用户和系统用户有一个不同的信任库。因此,如果您的服务在IIS上运行,则您使用的用户与单元测试中的用户不同,并且该用户使用系统信任库。根据您的需要,您可以在发送的链接或add the correct certificate to the store中应用变通方法。