C++ gSOAP命名空间前缀问题
我注意到有几个人问过这个问题,但我一直没有找到满意的答案。我使用gSOAP从WSDL文档中创建C++存根。问题是,gSOAP在发送soap消息时将名称空间作为soap方法名称的前缀。例如,当需要发送时,它正在发送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
有人知道如何解决这个问题吗
编辑:下面的选择答案起初对我不起作用,因为我在使用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)
我是在上找到的,非常感谢,这正是我需要找到的。