0

我创建了一个 WCF 服务,并使用 .NET 4.5 中的新身份管道保护它,授权由 ADFS 2.0 服务器颁发的令牌提供。该服务位于带有自签名证书的 SSL 端点后面。

我附加了 Fiddler 以尝试解决使用服务的初始异常。这需要启用 Fiddler 的 HTTPS 解密并在手机模拟器上安装 FiddlerRoot 证书。我发现了问题并适当地更新了我的代码。下次我尝试使用该服务时,代码成功了。我分离了 Fiddler,这就是混乱开始的地方。我继续收到相同的(误导性)异常:

The remote server returned an error: NotFound.

考虑到这可能是 X509 链验证问题,我在手机上安装了自签名证书,就像使用 FiddlerRoot 证书一样。我的结果没有变化。以下事情是真实的,对我没有任何意义:

  • 可以通过模拟器的网络浏览器在端点地址访问服务描述页面
  • IIS 日志不包含引发异常时对服务的请求
  • 作为推论,WCF 跟踪日志也不包含有关失败调用的任何信息

此行为对应于将应用程序部署到物理设备时的行为。我想也许 Fiddler 正在创建一个代理,该代理有一个可用的网络路径,而模拟器不可用,但乍一看这似乎不正确。

将不胜感激有关问题根源的调试指导或推测。

4

1 回答 1

1

我认为您通过怀疑验证链走在正确的轨道上。但是,在手机上安装证书可能还不够,您还必须检查它是否归属于正确的域。自签名证书的一个常见错误是为 localhost 生成,然后从另一台机器(因此是另一个域名)访问它们。

于 2013-08-01T20:02:35.170 回答