c++ - gSOAP命名空间前缀问题

标签 c++ soap gsoap

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

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

编辑:

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

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

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

最佳答案

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

soap_omode(&soap, SOAP_XML_DEFAULTNS);

我在http://cateof.wordpress.com/2010/09/21/default-namespace-gsoap-with/上找到了它

关于c++ - gSOAP命名空间前缀问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313477/

相关文章:

c++ - 带 SSL 的简单 gSoap 服务器和客户端

c++ - 防止 C++ OTL、DTL 或 SOCI 库中的 SQL 注入(inject)

Magento product_attribute.addOption 要求默认选项

xml - 在 XSLT 2.0 中拆分、替换和连接字符串

Android ksoap2 https 连接

ssl - gsoapssl undefined reference 错误

c++ - 将 C++ 转换为 Objective-C

c++ - 如何删除在 C++ 中使用 ExtAudioFileCreateWithURL 创建的文件?

c++ - OpenGL 的 SFML 着色器错误

c++ - 使用 WCF 和 gSOAP 向服务器和客户端添加证书