同一模块中的gSOAP服务器和客户端

时间:2014-03-06 14:36:36

标签: c++ linux soap gsoap

我希望应用程序既是soap服务器又是soap客户端,怎么做?如何处理以下问题?

假设soap Server提供ServiceA,soap Client将访问远程机器中的ServiceB,并且可以从ServiceA.h和ServiceB.h生成框架文件。

问题是从Service.h生成Server代码并从ServiceB.h生成客户端代码,它们都生成三个文件:soapC.h,soapC.cpp,soapStub.h。由于它们属于同一个项目,因此它们会相互冲突。怎么解决这个问题?

2 个答案:

答案 0 :(得分:0)

我得到了分段。

(gdb) bt
#0  0x0806642c in soap_getattrval ()
#1  0x08066ebc in soap_peek_element ()
#2  0x080658f7 in soap_element_begin_in ()
#3  0x08071e9d in soap_envelope_begin_in ()
#4  0x0034f449 in soap_call_ns1__MoperationC (

答案 1 :(得分:0)

我采用的方法是使用wsdl2h选项-qname将不同服务的定义生成到单独的C ++名称命名空间中。

请参阅此gSOAP Manual

中的如何在C ++代码命名空间中构建客户端或服务器一章