Qt串連WebService

來源:互聯網
上載者:User

之前也許是因為根本不用的原因吧,,,根本沒有想過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,再引入程式...

    相關類:

 

    QtSoapMessage
    QtSoapQName
    QtSoapType
    QtSoapArray
    QtSoapArrayIterator
    QtSoapStruct
    QtSoapStructIterator
    QtSoapSimpleType
    QtSoapHttpTransport

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.