WCF client调用 gsoap生成的 Web Service Server 抛出ProtocolException 类型异常

fly4free 2018-04-02 10:16:02
原来有一个 基于 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 代码)?
...全文
382 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly4free 2018-04-04
  • 打赏
  • 举报
回复
好吧,我居然是通过“gSOAP建立的WebService 看不到wsdl”这样的问题入手,找到了如何修改 http_content 的方法。 虽然不不知道是不是正统方式,但程序运行结果看起来很正常。

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧