Chinaunix首页 | 论坛 | 博客
  • 博客访问: 137895
  • 博文数量: 38
  • 博客积分: 247
  • 博客等级: 下士
  • 技术积分: 410
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-29 20:13
文章分类
文章存档

2010年(38)

最近访客

分类:

2010-04-14 16:00:27

一、 环境准备
在本文中,所有程序均在Linux下开发完成,经测试能够正常运行。
在开发过程中,我们需要用到gSOAP,可以从以下网址下载获得:
我下载的是gsoap_2.7.12.tar.gz
下载下来解压缩,按正常安装过程进行编译、安装。
# tar zxvf gsozp_2.7.12.tar.gz
# cd gsoap_2.7.12
# ./configure –-prefix=/usr/local/gSOAP(指定安装路径)
# make
# make install
二、 生成相关文件
1、通过WSDL文档,生成C/C++头文件
# /usr/local/gSOAP/bin/wsdl2h –c –o TestHeader.h
2、拷贝gSOAP源代码中import文件夹下的stlvector.h文件到TestHeader.h同一目录,如果在解析WSDL文档时使用了-s参数,即不使用STL,则不需要拷贝这一文件。
3、解析TestHeader.h文件,生成存根程序
# /usr/local/gSOAP/bin/soapcpp2 –c –C TestHeader.h
命令中参数-c代表生成标准C程序,若没有这个参数,则生成C++程序。
命令中参数-C代表仅生成客户端程序,若没有这个参数,则默认生成客户端和服务端程序。
三、 进行相关开发
1、新建工程
新建一个C的工程,并将刚刚生成的文件拷贝到工程中,设置工程属性,包含gSOAP源代码目录,链接属性处,需要包含文件libgsoap.a(使用C语言开发)或者libgsoap++.a(使用C++开发)。
2、代码开发
WebService的具体调用方式可以参见生成的soapStub.h文件。
Demo代码(调用WebService的addUser):
#include “soapH.h”
#include “TestHeaderHttpBinding.nsmap”

int main()
{
        struct soap clientSOAP;
        struct _ns1__addUser addUserMsg;
        struct _ns1__addUserResponse addUserResponse;

        soap_init(&clientSOAP);

        addUserMsg.in0 = “test”;
        addUserMsg.in1 = “test”;
        addUserMsg.in2 = “test”;

        if(soap_call___ns1__addUser(&clientSOAP, NULL, NULL, &addUserMsg, &addUserResponse) == SOAP_OK)
        {
                printf(“%s\n”, *addUserResponse.out);
        }
        else
        {
                printf(“Error\n”);
        }
        
        soap_destroy(&clientSOAP);
        soap_end(&clientSOAP);
        soap_done(&clientSOAP);

        return 0;
}
正常的话,编译运行后能够在控制台看到WebService返回的处理结果。
在这段代码中,_ns1__addUser、_ns1__addUserResponse、soap_call___ns1__addUser都是在soapStub.h中获得,具体应用可能会根据不同的服务端生成不同的代码。

本文出自 “玄武·巴依” 博客,出处 http://commandos.blog.51cto.com/154976/130652

阅读(4298) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

最大行业软件2012-12-30 10:53:17

ANSA.v14.0.Pre.16.11.2012.Win32_64 1CD

Beta-CAE MetaPost 6.8.2 Win32_64 1CD

CMG Suite v2012.0 Win32-ISO 1DVD

CMG Suite v2012.0 Win64-ISO 1DVD

Delcam.PowerShape.2013.SP6.Update.Only.Win32_64 2CD

ESI PAM-Stamp 2G 2012.0 Linux32_64 1DVD

Surpac v6.3.2 Win32 1CD

Topcon.Tools.v8.2 1CD

Embird Plus v8.0 1CD

Keil RealView Microcontroller Development Kit 4.60 1CD

安何2010-05-25 18:57:48