asp.net-core - 在 Server 2008 R2 中从 .NET Core 调用 SOAP WCF 服务 (.NET 4.5.2) 时出现问题
问题描述
我在 .NET Core 中创建了一个 Web API 服务(我尝试了 2.2 和 3.1)。
它是旧 WCF SOAP 服务 (.NET 4.5.2) 的桥梁,当这两个服务都在我的 Windows 10 开发机器上时,它运行良好。
当 WCF 服务放置在我们的 Windows Server 2008 R2 服务器上时,我收到此错误:
"message": "响应消息的内容类型 text/html; charset=UTF-8 与绑定的内容类型(text/xml; charset=utf-8)不匹配。如果使用自定义编码器,请务必IsContentTypeSupported 方法已正确实现。响应的前 1024 个字节为:'<HTML lang="en"><link rel="alternate" type="text/xml" href="http://testxxxitms-api .xxxbilling.org/Service.svc?迪斯科“
错误是我得到一个 HTML 答案而不是 XML,似乎原因是调用以某种方式更改为“迪斯科”调用。我在客户端中唯一更改的是端点地址,它不包含 disco 参数。
我可以使用 SOAP UI 调用 WCF 服务。
我有这些对 System.ServiceModel-** 程序集的引用。
<PackageReference Include="System.Private.ServiceModel" Version="4.7.0" />
<PackageReference Include="System.ServiceModel.Duplex" Version="4.7.0" />
<PackageReference Include="System.ServiceModel.Http" Version="4.7.0" />
<PackageReference Include="System.ServiceModel.NetTcp" Version="4.7.0" />
<PackageReference Include="System.ServiceModel.Primitives" Version="4.7.0" />
<PackageReference Include="System.ServiceModel.Security" Version="4.7.0" />
什么会导致这种行为?
解决方案
亚伯拉罕·钱在评论中的投入使我尝试了无数的解决方案。我的结论是它不适用于 Windows Server 2008。
我坚持将服务器升级到 Windows Server 2012,现在它可以工作了。
推荐阅读
- crystal-reports - 水晶报表中的多个参数
- sql - 如何在 Babel 解析器中添加“横向视图爆炸”等关键字
- python - 在 python shell 窗口未聚焦时退出 while 循环
- c# - 具有范围托管服务的实体框架
- c++ - 为什么程序在从用户获取二维矩阵的值时以无穷无尽的输入运行
- php - htaccess 中的 AddType 导致下载或 HTTP ERROR 500
- maven - 如何从 GitHub Package Registry (Beta) 访问 maven 依赖项
- c++ - 创建一个 for 循环,将像素靠近在一起,使正方形看起来充满颜色
- javascript - 链接查询树,不带“渲染的钩子比上一次渲染时更多”
- ruby - 如果其他情况,请使用保护进行 ruby 转换引发异常