WCF client调用 gsoap生成的 Web Service Server 抛出ProtocolException 类型异常
原来有一个 基于 BasicHttpBinding 绑定的 Server 与 Client ,工作是正常的。
后来使用 2.8.65 版本的 gsoap 生成了server 代码,wsdl 的生成是用 原来的 Server 生成的。
wsdl2h -g -s -o wsdl.h <url>
soapcpp2 -j wsdl.h
然后在用原来的 WCF client 连接通过 gsoap 生成的代码编译的 Server 的时候,抛出了ProtocolException异常:
“响应消息的内容类型 application/soap+xml; charset=utf-8; action=" <... >/BussinesCall" 与绑定(text/xml; charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 622 个字节为:“<?xml version="1.0" encoding="UTF-8"?> ... (框架就和生成的 .res.xml 模板一样,略)”
调试 server 时,触发了断点,是有响应的。
后来 soapcpp2 参数加了 -1、-2和-1 -2(其实我也不懂什么区别,瞎加的),结果也一样不好使。
看样子就是 http 相应类型不匹配 导致的,哪位高人能指点一下如何才能匹配(不管是修改 wcf client 还是 gsoap server 代码)?