Qt对WCF服务的访问
来源:互联网 发布:网络主播黑名单第二批 编辑:程序博客网 时间:2024/05/22 08:17
QtSOAP是Qt对标准SOAP协议的支持库,遵循LGPL协议发布。现在公司的项目是基于微软WCF的Webservice做的,之前是再将服务发布JSON格式,客户端直接访问的,很简单。但是现在WCF的人们都很忙,没时间给修改这个东西。只好在客户端来做工作支持WCF的Webservice。
WCF的Webservice和QtSoap支持的格式有所区别。将envelope命名空间修改为了"http://www.w3.org/2003/05/soap-envelope",新增加了"http://www.w3.org/2005/08/addressing"和
"http://schemas.datacontract.org/2004/07/"两个命名空间。第一个是在头部对Action和访问地址的定义,第二个是body中对数据实体类命名空间的定义。 soap XML头部新添加了Action和To节点属于addressing命名空间,并且必须要有属性s:mustUnderstand="1"。 soap XML Body结构为: |method(访问方法) |_class(参数实体类) |_class field(属性字段) 属性字段如果为类,择需要嵌套定义class和其下所有字段。 WCF的节点定义顺序似乎是有顺序限制的。所以我通过对访问的封包截获按照其顺序来定义SOAP的XML文件。QtSoap的结构中缺少addressing和实体类的定义,头部没有Action和To节点,只支持字符串类型的方法参数添加,而不能支持对象类型,
他对方法节点下只能添加一级的Node。
这里需要对头部增加action和To的构造。构造好类的Node节点以字符串的形式传入,这里注意,这里Qt的Dom类会对<字符做转义处理
为<,在发送soap请求前需要将其替换成<才行。
这样简单的对WCF webservice的支持就修改完成了。
- Qt对WCF服务的访问
- Microsoft Mobile访问WCF服务的例子
- WCF服务访问超时的问题
- Android访问WCF服务
- 跨域访问WCF服务
- 基于WCF 的远程数据库服务访问技术
- WCF中对路径....的访问被拒绝
- python调用wcf服务 实现网站对客户端的调用
- IIS中添加对WCF服务的支持
- Linux控制对服务的访问
- 控制对服务的访问--chkconfig
- 简单的wcf服务
- 局域网跨机访问WCF服务出错本机访问正常的问题
- VS2010发布的wcf服务,浏览器访问没有问题,但是vs添加服务引用出错
- Android访问WCF服务(上篇)-服务端开发
- Silverlight通过ISA访问WCF服务
- gSoap编写代码访问WCF服务
- php访问wcf对象传参服务
- 全局变量和局部变量在内存里的区别
- 如何为对话框屏蔽系统自带的F1功能键功能
- Cairngorm 3 introduction 介绍
- Struts 2与AJAX
- 缓冲输出与内存分配
- Qt对WCF服务的访问
- 的萨芬的是
- 一个简单的javascript菜单_Javascript教程
- C++STRING类常用函数
- 终于攻下了Code Complete英文版
- POJ 1230 Pass-Muraille
- UML组件图
- session和cookie的区别
- windows/Linux网络工具