2009-07-14
对gsoap的简单介绍,主要有2个工具和源代码:
wsdl2h -o outfile.h infile.wsdl 实现wsdl文件到h文件的数据映射
soapcpp2 -c outfile.h生成相应的底层通信stub,strech程序
下面这个简单的例子实现的是在客户端输入2个数字,然后远程调用服务端的加法函数,最后返回结果给客户端。
在这里我们不需要wsdl的文件,可以直接从.h文件来生成代码。我们定义一个函数声明文件,用来定义接口函数,名称为add.h,内容如下:
注意:编译的时候我们需要gsoap包里的源代码文件,把stdsoap2.cpp和stdsoap2.h文件拷贝到当前目录
然后使用g++ -o addserver addserver.cpp soapC.cpp stdsoap2.cpp soapServer.cpp
g++ -o addclient addclient.cpp soapC.cpp stdsoap2.cpp soapClient.cpp
来进行编译,
最后在服务器端输入:$./addserver 4567
客户端输入:$./addclient 21 32
返回加法的结果。
使用soapcpp2 add.h
我们接着写客户端,文件addclient.cpp