更改使用的站点SSL证书后ASP.NET Web服务调用失败

时间:2014-01-20 18:05:54

标签: asp.net web-services ssl asmx

我遇到了一个非常奇怪的场景,尝试了很多解决方案,并尝试搜索有类似问题但找不到任何内容的人。

我有一个webforms ASP.NET应用程序,几个月前SSL证书已过期,我们刚收到续订证书。它是一个新证书而不是续订证书,但发布到相同的URL / SAN。它也是内部证书,不是外部签发的。

在我们的生产环境中安装新的SSL证书后,我们正在进行的内部Web服务(asmx引用)调用(对于Java Web服务)失败,抱怨没有参数发送到Web服务。只有当我浏览网站的SSL启用版本并且仅在生产中浏览时,才会发生这种情况。具有SSL的站点在我们的开发/舞台环境中正常工作。 Prod也可以工作,但前提是我不浏览HTTPS。

我无法粘贴所有技术异常详情,因为这是与工作相关的事情,但我们非常感谢任何帮助/指导。

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Web.Services.Protocols.SoapHeaderException: Internal Server Error (Caught exception while handling request: java.lang.Exception: Last Name and/or First Name needs to be provided.)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at OurProgram.com.Company.corp.amssvc.DirWs2.getEmployeeDataByName(String lastName, String firstName, String attData, String strDelim) in D:\somecodehere

对于其他数据,它本身也不是一个IIS网站,它作为默认网站下的应用程序托管,该网站具有证书的SSL绑定。

有没有人经历过这个?

1 个答案:

答案 0 :(得分:1)

TL; DR - 禁用匿名身份验证。

好吧,经过6个小时的调整和比较IIS和网站配置,问题是由于某种原因,匿名身份验证在网站重新启动后以某种方式启用了新SSL证书启动。我们的应用程序是一个Intranet one,因此Web服务获取登录用户的凭据。当Anon Auth以某种方式启用时,它必须没有传递正确的凭据。

禁用匿名身份验证后,该网站运行正常。虽然事后看起来似乎有点相关,但我会期待一个不同的错误,除了Web服务抱怨没有发送任何参数之外的任何其他错误。

希望这有助于某人。