在客户端调用别人的接口时,总是出现下面的问题。
问题:响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。
如图:
然后,选择用排除法看看到底是自己客户端的问题,还是他人提供的接口的问题。
将自己的客户端代码复制到他人的客户端,运行,结果成功了,这告诉了自己,问题不是出现在自己客户端代码上,也不是出现在他人提供的接口上。
那会是出现在哪里呢?
排除上面两种情况,就只剩下配置文件了,从配置文件下手,应该就对了。
于是,将他人客户端的配置文件和自己客户端的配置文件拿来进行对比。问题出现了。
自己的客户端配置文件缺少一部分。补充完整之后,就是下面的样子了:
<strong><span style="font-family:KaiTi_GB2312;font-size:24px;"><bindings>
<wsHttpBinding>
<binding name="WsHttpBinding_Default" transactionFlow="true">
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings></span></strong>
修改了,问题是解决了,但对于自己为什么这样修改,和修改的东西是什么意思,很是不理解。于是,开始了进一步的研究----WCF配置文件。