C++ gSOAP命名空间前缀问题

C++ gSOAP命名空间前缀问题,c++,soap,gsoap,C++,Soap,Gsoap,我注意到有几个人问过这个问题,但我一直没有找到满意的答案。我使用gSOAP从WSDL文档中创建C++存根。问题是,gSOAP在发送soap消息时将名称空间作为soap方法名称的前缀。例如,当需要发送时,它正在发送 有人知道如何解决这个问题吗 编辑: 下面的选择答案起初对我不起作用,因为我在使用C++代理版本,但我所要做的就是使用以下代码创建服务对象, exampleSOAPProxy服务=exampleSOAPProxy(SOAP\u XML\u DEFAULTNS,SOAP\u XML\u D

我注意到有几个人问过这个问题,但我一直没有找到满意的答案。我使用gSOAP从WSDL文档中创建C++存根。问题是,gSOAP在发送soap消息时将名称空间作为soap方法名称的前缀。例如,当需要发送时,它正在发送

有人知道如何解决这个问题吗

编辑:

下面的选择答案起初对我不起作用,因为我在使用C++代理版本,但我所要做的就是使用以下代码创建服务对象,

exampleSOAPProxy服务=exampleSOAPProxy(SOAP\u XML\u DEFAULTNS,SOAP\u XML\u DEFAULTNS)
SOAP\u XML\u DEFAULTNS是一个令人困惑的名称,因为它实际上并不为所有内容使用默认名称空间,它只是从元素中删除名称空间前缀,并将名称空间显式地添加到每个元素中


编译应用程序时,我需要将-DWITH_SOAPDEFS_H添加到compile/link语句中。注意:我需要在/usr/local/include/中创建一个名为soapdefs.h的文件,因为在设置-DWITH_soapdefs_h标志时会导入该文件。它只是一个头文件,用于向stdsoap2.h添加include和declareations

您使用哪个版本的gSOAP?如果是2.8.1或更高版本,您可以尝试使用:

soap\u-omode(&soap,soap\u-XML\u-DEFAULTNS)


我是在

上找到的,非常感谢,这正是我需要找到的。