【WebService学习】用思维导图和实例学习Web Service

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.SOAP消息: 2.WSDL 3.Web Service 4.实例: 1)Eclipse 以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程:http://blog.csdn.net/gnuhpc/archive/2009/12/22/5047951.aspx 2)QT SOAP 的一个实例: 开始学习时,看到网上有朋友说这个库难用,我觉得还好吧,蛮好使的,下边写一个例子。

作者:gnuhpc
出处:
http://www.cnblogs.com/gnuhpc/

1.SOAP消息:

clip_image002[4]

clip_image004[4]

clip_image006[4]

2.WSDL

clip_image008[4]

clip_image010[4]

clip_image012[4]

3.Web Service

clip_image014[4]

4.实例:

1Eclipse 以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程:http://blog.csdn.net/gnuhpc/archive/2009/12/22/5047951.aspx

2QT SOAP 的一个实例:

开始学习时,看到网上有朋友说这个库难用,我觉得还好吧,蛮好使的,下边写一个例子。

今天早上写的,远程访问这个http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?op=getStockInfoByCode Web service,获得股票信息。

简单了拖拽了一个界面,如下:

clip_image016[4]

具体代码如下,几个关键的地方我用黑体加粗进行了注释:

main.cpp:

#include
#include "stockws.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    StockWS w;
    w.show();
    return a.exec();
}

stockws.cpp:

#include "stockws.h"
#include

StockWS::StockWS(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags), http(this)
{
    ui.setupUi(this);
    ui.idline;
    connect(&http, SIGNAL(responseReady()), SLOT(getResponse()));
    connect(ui.idline, SIGNAL(returnPressed()), SLOT(submitRequest()));
    connect(ui.RequestStock, SIGNAL(clicked()), SLOT(submitRequest()));
    http.setAction("/"
http://WebXml.com.cn/getStockInfoByCode/"");//
设置SOAPACTION
    http.setHost("webservice.webxml.com.cn");//
设置
HOST

}

StockWS::~StockWS()
{

}

void StockWS::submitRequest()
{
    QtSoapQName name;

    // Check that ID is provided or not
    if (ui.idline->text() == "") {
        QMessageBox::warning(this, tr("Missing Stock ID"),
            tr("Please Enter the Stock ID for query"));
        return;
    }

    // Generate request. Details about how to generate a proper

    QtSoapMessage request;
    request.setMethod(QtSoapQName("getStockInfoByCode", "
http://WebXml.com.cn/"));//
设置方法和所在命名空间=>xmlns=http://WebXml.com.cn/
    request.addMethodArgument("theStockCode", "", ui.idline->text()); // 设置方法的参数

    // Submit the method request to the web service.
    http.submitRequest(request, "/WebServices/ChinaStockWebService.asmx"); //
设置POST字段

    // Set the cursor to wait mode.
    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
}

void StockWS::getResponse()
{
    int i;
    // Set cursor back to normal shape.
    QApplication::restoreOverrideCursor();

    // Reset resultView.
    ui.stockResult->clear();

    // Get the response, check for error.
    const QtSoapMessage &resp = http.getResponse();
    if (resp.isFault()) {
        ui.stockResult->setText((resp.faultString().value().toString()));
        return;
    }

    // Extract the return value from this method response, check for
    // errors.
    const QtSoapType &res = resp.returnValue();
    if (!res.isValid()) {
        ui.stockResult->append("Invalid return value");
        return;
    }

    ui.stockResult->setText(res[0].toString());
    for (i=0;i
    {
        ui.stockResult->append(res[i].toString()+"/n");
    }

}

 

 

输入一个股票:sh500006,基金裕阳的股票代码,稍等片刻就得到如下结果:

clip_image018[4]

3gsoap使用:

我想起三月份的时候拿GsoapLibfetion写了一个获取股票实时信息并且发短信指定人的例子,基本功能都实现了,有时间具体完善一下后放上来~

作者:gnuhpc
出处:
http://www.cnblogs.com/gnuhpc/

 

 


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
12月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
272 61
|
10月前
|
安全 Java 数据安全/隐私保护
springSecurity学习之springSecurity过滤web请求
通过配置 Spring Security 的过滤器链,开发者可以灵活地管理 Web 请求的安全性。理解核心过滤器的作用以及如何配置和组合这些过滤器,可以帮助开发者实现复杂的安全需求。通过具体的示例代码,可以清晰地了解 Spring Security 的配置方法和实践。
473 23
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
158 0
|
12月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
416 2
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
189 2
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
5297 0
|
网络协议 API 网络安全
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
1805 0
|
网络协议 安全 JavaScript
Web实时通信的学习之旅:WebSocket入门指南及示例演示
Web实时通信的学习之旅:WebSocket入门指南及示例演示
2057 0
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
1104 0
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
106 0
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App