65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 GSoap 从 Qt 4.5 调用 Web 服务

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.25/5 (9投票s)

2009 年 5 月 13 日

CPOL

1分钟阅读

viewsIcon

65695

downloadIcon

1878

使用 GSoap 从 Qt 4.5 调用 Web 服务。

引言

我一直在寻找一个可以直接使用的、包含 QtGSoap 的示例,但没有找到。所以我想自己创建一个。这不是一个针对想要使用 Qt 的初学者的教程,也不会介绍 GSoap 的任何内容。它是为那些对 Qt 和 Web 服务非常了解,并希望使用 GSoap 的人准备的。

概述

我使用的环境是:XUbuntu 8.10,QT 4.5,GSoap 1.2.9l。

我认为这里没有什么需要过多解释的。代码本身就非常清晰易懂。我想我们需要特别注意 .pro 文件和需要包含的文件。

Qt 提供了 QtSoap 来实现类似 GSoap 的功能。但是,考虑到 很多人都在使用它,而且 GSoap 已经存在一段时间并且相当成熟,我决定继续使用它。

.pro 文件

我注意到关于 .pro 文件应该如何编写有很多讨论。这里是它的内容:

# -------------------------------------------------
# Project created by QtCreator 2009-05-04T22:46:55
# -------------------------------------------------
TARGET = qtQuote
TEMPLATE = app
 QT += xml\
xmlpatterns
INCLUDEPATH += /usr/include/gsoap
LIBS += -lgsoap++
SOURCES += main.cpp \
    mainwindow.cpp \
    soapC.cpp \
    soapStockQuoteSoapProxy.cpp
HEADERS += mainwindow.h \
    soapStockQuoteSoapProxy.h \
    soapStub.h \
    soapH.h
FORMS += mainwindow.ui

应用程序截图

该窗口将接收股票代码,并将 XML 吐到下面的文本区域。

QtGsoap

非常基础,但我想展示的是一个将 Qt 和 GSoap 结合在一起的框架。使用 QXmlQuery/QDom/SAX,我们可以从 XML 响应中获取所需的数据点。

关注点

有趣的是,即使我使用 Synaptic 安装了 GSoap,我仍然需要本地放置 SoapCpp2.herror2.h 才能运行该应用程序。此外,我们还需要查看它如何在 OS X 和 Windows 上构建。

© . All rights reserved.