Mor*_*ael 8 http iis-7 https wcf http-status-code-404
我有一些在 IIS 7.5 下运行的 WCF web 服务,它们正确响应 http 请求,但在使用 SSL 调用方法时响应 404(未找到)错误。
该站点的绑定如下:
当调用http://127.0.0.1:8088/Public/PublicDataService.svc 时,我得到了预期的响应:
您已经创建了一个服务。
要测试此服务,您需要创建一个客户端并使用它来调用该服务。您可以使用命令行中的 svcutil.exe 工具使用以下语法执行此操作:等
同样,调用任何 Service 方法都有效,有一个最基本的方法叫做 CanConnect,它只返回“true”
http://127.0.0.1:8088/Public/PublicDataService.svc/CanConnect
真的
使用 https 时,结果如下。
https://127.0.0.1/Public/PublicDataService.svc
您已经创建了一个服务。
要测试此服务,您需要创建一个客户端并使用它来调用该服务。您可以使用以下语法从命令行使用 svcutil.exe 工具执行此操作:
https://127.0.0.1/Public/PublicDataService.svc/CanConnect
“/Public”应用程序中的服务器错误。
无法找到该资源。
描述:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、更改名称或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL:/Public/PublicDataService.svc/CanConnect
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.6.1055.0
这让我完全被难住了,如何调用 .svc 工作但它的内部方法给出 404?更令人困惑的是,这是有效的……事实上,我什至不确定它何时停止,即它是否对应于代码发布或服务器补丁等。
网站的实际配置是这样的:
Webservices (this is the root of the application / where the Web.Config sits)
- Public (a windows directory, no addition config)
Run Code Online (Sandbox Code Playgroud)
还有许多其他服务直接在根目录下运行,它们在 http 和 https 下都运行良好。
关于可能导致这种情况的任何想法。
事实证明,这只是 web.config 文件中的一个错误。
SO上的这两个答案是解决方案:
而反过来
奇怪的是,它曾经在 http 和 https 上工作过,然后就停止了......其他地方一定有一些其他的配置更改......
编辑:完整性的实际修复
以下是在 web.config 中从“无”更改为“传输”
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding>
<security mode="Transport" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17585 次 |
| 最近记录: |