我正面临以下错误 "响应消息的内容类型 text/html 与绑定(bind)的内容类型不匹配(application/soap+xml;charset=utf-8)。 如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 514 个字节是“。下面是我的绑定(bind)和配置文件
<customBinding>
<binding name="LoginServiceSoap12Binding">
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
</customBinding>
<endpoint address="WCF URL"
binding="customBinding" bindingConfiguration="LoginServiceSoap12Binding"
contract="CWALoginService.LoginServicePortType" name="LoginServiceHttpsSoap12Endpoint" />
不确定我在这里遇到的问题是什么......
最佳答案
大多数情况下,这意味着您的主机返回一个错误页面(因为内容类型是 text/html
,如前所述),而不是您的服务返回 application/soap+ 中的响应xml
。
您应该检查您的服务是否可以通过进入您的服务的 url (http(s)://localhost{:port}/{subSite}/(WCF URL).svc
)。如果您的服务可以激活,那么接下来您应该尝试通过以下方式在您的客户端和服务端启用 wcf 跟踪:
- 右键单击您的 web.config/app.config,然后单击
Edit WCF Configuration
- 在
Diagnostics
部分下,启用Log Auto Flush
、MessageLogging
和Tracing
,当然还要指定一个路径您的主机身份有权写入。 - 执行该服务调用后检查跟踪文件。然后您应该看到您的主机返回的 html 并找出真正的问题是什么。
关于c# - wcf + 响应消息的内容类型text/html与绑定(bind)的内容类型不匹配(application/soap+xml; charset=utf-8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42416867/