gsoap how to use
2012-09-04 09:46
204 查看
1. 下载gsoap.
2. 下载的gsoap包含soapcpp2.exe 和 wsdl2h.exe 文件
3. 服务器端可以通过WSDL或者简单文件的方式来定义接口, 这里采用简单文件来定义一个简单的加法和减法操作
int ns__Add(int a, int b, int &c);
int ns__Sub(int a, int b, int &c);
注意返回值必须是int, 参数类型是简单的内置类型或者自定义的接口体, 也可以使用vector, 但是需要额外的import头文件。
函数的最后一个参数是表示函数真正的返回值, 如果不希望函数有返回值, 可以用void(*)有不有指针不记得了, 可以网上查
4. 头文件定义好了后, 这里假定为calculator.h, 运行soapcpp2.exe -i calculator.h, 将会在当前目录下产生一堆文件。
这些文件有的是给服务器用的, 有的是给客户端用的。
5. 不管是服务器还是客户端都需要从gsoap的目录下的stdsoap2.cpp 和 stdsoap2.h, 已将刚刚产生的soapC.cpp
6. 服务器端还需要soapService.cpp, 另外需要从Service类继承一个子类 去实现Add和Sub方法, 也需要包含
#include "ns.nsmap"
#include "soapService.h"
这里假定一个类
class CCalculator : public Service
{
public:
int Add(int a, int b, int &c)
{
c = a + b;
return SOAP_OK;
}
int Sub(int a, int b, int &c)
{
c = a - b;
return SOAP_OK;
}
};
运行的代码是
CCalculator soap;
soap.run(1000);
7. 客户端引入soapProxy.cpp
#include "ns.nsmap"
#include "soapProxy.h"
void main()
{
Proxy p("http://localhost:1000");
int c;
p.Add(1, 2, c);
p.Sub(1, 2, c);
}
2. 下载的gsoap包含soapcpp2.exe 和 wsdl2h.exe 文件
3. 服务器端可以通过WSDL或者简单文件的方式来定义接口, 这里采用简单文件来定义一个简单的加法和减法操作
int ns__Add(int a, int b, int &c);
int ns__Sub(int a, int b, int &c);
注意返回值必须是int, 参数类型是简单的内置类型或者自定义的接口体, 也可以使用vector, 但是需要额外的import头文件。
函数的最后一个参数是表示函数真正的返回值, 如果不希望函数有返回值, 可以用void(*)有不有指针不记得了, 可以网上查
4. 头文件定义好了后, 这里假定为calculator.h, 运行soapcpp2.exe -i calculator.h, 将会在当前目录下产生一堆文件。
这些文件有的是给服务器用的, 有的是给客户端用的。
5. 不管是服务器还是客户端都需要从gsoap的目录下的stdsoap2.cpp 和 stdsoap2.h, 已将刚刚产生的soapC.cpp
6. 服务器端还需要soapService.cpp, 另外需要从Service类继承一个子类 去实现Add和Sub方法, 也需要包含
#include "ns.nsmap"
#include "soapService.h"
这里假定一个类
class CCalculator : public Service
{
public:
int Add(int a, int b, int &c)
{
c = a + b;
return SOAP_OK;
}
int Sub(int a, int b, int &c)
{
c = a - b;
return SOAP_OK;
}
};
运行的代码是
CCalculator soap;
soap.run(1000);
7. 客户端引入soapProxy.cpp
#include "ns.nsmap"
#include "soapProxy.h"
void main()
{
Proxy p("http://localhost:1000");
int c;
p.Add(1, 2, c);
p.Sub(1, 2, c);
}
相关文章推荐
- how to use shared Preferences
- How to Use a Bug Tracker
- FAQ: How to Use AWR reports to Diagnose Database Performance Issues [ID 1359094.1]
- on IRC, how to use secure connection(SSL) and get a cloak/vhost to hide your IP
- How to Use the UTL_MAIL Package
- How to Use CHeaderCtrl Filter
- 如何使用OpenCV的处理图像,文字变得锐利和清晰?(How to use OpenCV to process image so that the text become sharp and clea
- How to Use Dtrace Tracing Ruby Executing
- How to use user’s location in your app?
- How to use CreateChildContorls method inherited from System.Web.UI.Control
- How to use jquery ajax and android request security RESTful WCF
- How to use Django with uWSGI
- How to use Gconf
- How to deploy a .Net assmebly for COM use through CAB on Web Page (转)
- How to use the pointer of function in a class?
- AutoResetEvent.How to use it
- Learn How To Use Oracle Flashback
- How To use Data Referenece ...
- How to use UIDs
- How to use Regular Expression in LotusScript