电话仿真器可以使用附加的Fiddler调用WCF服务,否则会引发NotFound异常

时间:2013-08-01 15:23:53

标签: wcf ssl windows-phone-8 wif

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

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

The remote server returned an error: NotFound.

认为这可能是X509链验证问题,我在电话上安装了自签名证书,就像我使用FiddlerRoot证书一样。我的结果没有变化。以下情况属实,对我没有任何意义:

  • 可以通过模拟器的Web浏览器在端点地址访问服务描述页面
  • IIS日志不包含在抛出异常时向服务发出的请求
  • 作为必然结果,WCF跟踪日志也不包含有关失败呼叫的任何信息

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

对于问题来源的调试指导或推测将不胜感激。

1 个答案:

答案 0 :(得分:1)

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