我希望应用程序既是soap服务器又是soap客户端,怎么做?如何处理以下问题?
假设soap Server提供ServiceA,soap Client将访问远程机器中的ServiceB,并且可以从ServiceA.h和ServiceB.h生成框架文件。
问题是从Service.h生成Server代码并从ServiceB.h生成客户端代码,它们都生成三个文件:soapC.h,soapC.cpp,soapStub.h。由于它们属于同一个项目,因此它们会相互冲突。怎么解决这个问题?
答案 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 ++代码命名空间中构建客户端或服务器一章