2014-03-06 54 views
0

我希望应用程序既是肥皂服务器又是肥皂客户端,怎么做?如何处理下面的问题?同一模块中的gSOAP服务器和客户端

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

问题是从Service.h生成服务器代码并从ServiceB.h生成客户端代码,它们都生成三个文件:soapC.h,soapC.cpp,soapStub.h。因为他们在同一个项目中,他们会相互冲突。如何解决这个问题?

+0

您需要三个文件合成一个,然后用soapcpp2选项生成soapC.h,soapH.h等 – Kahn

回答

0

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

请参见如何建立一个C++代码命名空间客户端或服务器在此gSOAP Manual

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 (