2011-03-15 164 views
2

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

有谁知道如何解决此问题?

编辑:

选择的答案下面也没有,因为我使用C++代理的版本为我工作在第一,但我所要做的就是用下面的代码创建我的服务对象,

exampleSOAPProxy service=exampleSOAPProxy(SOAP_XML_DEFAULTNS,SOAP_XML_DEFAULTNS); SOAP_XML_DEFAULTNS是一个令人困惑的名称,因为它实际上并没有将默认名称空间用于所有内容,它只是从元素中删除名称空间前缀,并将该名称空间显式添加到每个元素。

编译我的应用程序时,我需要将-DWITH_SOAPDEFS_H添加到我的编译/链接语句中。注意我需要在/ usr/local/include /中创建一个名为soapdefs.h的文件,因为它在设置-DWITH_SOAPDEFS_H标志时被导入。它只是一个头文件,你用来添加包括和声明stdsoap2.h

回答