gsoap使用方法

gSOAP操作流程

准备工作:

首先,利用C#创建一个ASP.NET Web Service,添加一个或多个方法;如:

[WebMethod]                     //必须要加上  在每个函数定义的开始

public string HelloWorld()

{

   return "Hello World";

}

其次:运行该程序,以IE浏览器为例,如:http://localhost:56885/addWebService/Service.asmx

在其后加上?wsdl,如:http://localhost:56885/addWebService/Service.asmx?wsdl  即可产生wsdl文件;

 

以上工作准备完成后,就可以开始开发客户端与服务端:

 

CLIENT:

在开发客户端之前,需准备以下文件:

soapC.cpp、soapH.h、soapServiceSoapProxy.cpp、soapServiceSoapProxy.h、soapStub.h、

stdsoap2.cpp、stdsoap2.h

 

生成以上文件命令如下:

以上文件时在E:\workStudyDocu\c++SOAP\gsoapbin目下打开cmd窗口输入以下命令生成的

clianet:

wsdl2h  -o testClient.h -t typemap.dat –e http://localhost:56885/addWebService/Service.asmx?wsdl

soapcpp2  -i -C -x testClient.h

 

将生成的文件拷贝到cilent的工程中:如下图

使用方法示例:

SERVER

在开发服务端时,同样需要准备以下文件:

soapC.cpp、soapH.h、soapServiceSoapService.cpp、soapServiceSoapService.h、soapStub.h、

stdsoap2.cpp、stdsoap2.h

生成以上文件命令如下:

server:  

wsdl2h  -o testServer.h -t typemap.dat -ehttp://localhost:56885/addWebService/Service.asmx?wsdl   

soapcpp2  -i -x -S testServer.h

 

将生成的文件拷贝到server的工程中:如下图

使用方法示例:

#include<iostream>

#include"ServiceSoap.nsmap"

#include"soapServiceSoapService.h"

usingnamespace std;

 

intmain()

{

         ServiceSoapService server;

         server.run(9999);

         return 0;

}

 

NOTE:

应用gSoap编写网络程序,是很方便的,客户端只负责传入要处理的参数,及接收服务器返回值;而所有的处理操作均在服务器中;

例如:webservice中有3个函数,服务器端必须实现这几个函数的定义;

 

之所以建立ASP.NET WebService,是为了获取wsdl。并且函数的接口也是在ASP.NET Web Service 中定义的,通过wsdl2h命令可以获取相应的wsdl。切记,在ASP.NET Web Service中定义的函数,不管你操作如何,我们只要的是函数的接口,通过wsdl2h命令及soapcpp2命令获取。真正的实现是在server端。

 

 

如果要添加函数,需后重新生成wsdl(客户端及服务端),并生成相应的文件,切记,重新添加文件到工程时,应该先保存一份先前已完成函数的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值