gSOAP使用方法

Posted on 2013年12月11日 16:15
wsdl2h -o calc.h http://www.genivia.com/calc.wsdl
soapcpp2 -i -C -Iimport calc.h

上面-o是指定路径,-i是指定得到C++代理类和客户端(服务端)代码,-C指仅需要客户端代码。-I后面跟着的是import文件的目录。在windows下,最好直接指定完整的绝对路径。最后的参数是上一步骤中生成的.h头文件。

最后将生成的全部文件拷贝到相关项目下,可以不拷贝第一步中生成的头文件。

除此之外,还需要引入这样几个文件:

stdsoap2.h/.c/.cpp。

接下来就基本可以参考以下代码引用了:

#include "soapcalcProxy.h" 
#include "calc.nsmap" 
main() 
{ 
   calcProxy service; 
   double result; 
   if (service.add(1.0, 2.0, result) == SOAP_OK) 
      std::cout << "The sum of 1.0 and 2.0 is " << result << std::endl; 
   else
      service.soap_stream_fault(std::cerr); 
}

引用的第一个头文件是代理类的头文件,第二个是第二步中生成的nsmap文件,除此之外,就不需要别的了。