Qt调用WebService 3

来源:互联网 发布:金字塔量化交易软件 编辑:程序博客网 时间:2024/06/05 19:22
Qt实现访问WebService 2010.5.11

        之前也许是因为根本不用的原因吧,,,根本没有想过Qt访问WebService的方式....

           

        要解决这个问题,因为Qt现行版没有提供直接访问的类库...首先是一些必备知识,


        我连的服务器是用VS2010建的只有 string helloworld() 和string getHello(string str)两个接口的iis服务器.


        Qt对xml文档操作和WebService原理,特点和通信方式....这个可以看http://user.qzone.qq.com/380411306/blog/1273588842?ptlang=2052&ADUIN=952147772&ADSESSION=1273588927&ADTAG=CLIENT.QQ.2785_FriendTip_QzoneFolder.0


        针对这个我一共进行了三种尝试,,,

    第一种,

        先用Qt的QNetworkAccessManager类实现与WebService建立连接,,

        然后用QNetworkReply类实现与WebService的通信,当然这种通信只是异步流的通信,,,,你会收到WebService的整个XML网页,,,

        接着,就是自己根据SOAP协议规则解析XML,按,SOAP的协议规则和WebService通信

        最后,把自己写好的请求XML串行化,发给WebService,

    现在为止,第一种尝试并没有成功,,因为做这个尝试的时候,对SOAP还不是很不了解,,,不过可以肯定的是,这种办法是可行的...


    第二种,

        用了第三方 C++的gsoap开源库,这是一位网友提供的,,,他的博客:http://blog.csdn.net/tingsking18/archive/2010/04/07/5456831.aspx里有详细的介绍....


    第三种,

        我在Qt开源社区里找到了,还没有发布的qsoap源码,,,这个可以经过编译,配置,直接在Qt程序中运用,而且很方便..

    可以在这里找到它:http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsoap

        它里面提供了两种运用方式:

        分别是,源码引入和先编译生成.dll,再引入程序...


    原创粉丝点击