gpt4 book ai didi

c++ - gSOAP 从 2.8.10 升级到最新 (2.8.54) 没有 ns : for namespace on several XML tags

转载 作者:行者123 更新时间:2023-11-27 23:50:43 25 4
gpt4 key购买 nike

目前正在将 gSOAP 从 2.8.10 升级到 2.8.54。这是一个允许 rpc over XML 的 c++ 代码生成工具。新版本生成的代码未生成与早期版本兼容的 XML。想知道是否有人在他们的 C++ 产品中研究/使用了这些版本的 gSOAP,并发现用于编码的 XML 有所不同。

XML 代码需要匹配,因为 2.8.10 产品需要与使用 2.8.54 的产品通信我当前的问题是为 2.8.10 生成 XML 的动态生成代码中输入和数据的 namespace 有

if (soap_out_PointerTostd__string(soap, "ns:method", -1, &a->method, "xsd:string"))
return soap->error;
if (soap_out_PointerTons__ComplexType(soap, "ns:input", -1, &a->input, "ns:ComplexType"))
return soap->error;

2.8.54有

if (soap_out_PointerTostd__string(soap, "method", -1, &a->method, "xsd:string"))
return soap->error;
if (soap_out_PointerTons__ComplexType(soap, "input", -1, &a->input, "ns:ComplexType"))
return soap->error;

那么问题来了,为什么 ns: 被 method 和 input 掉了?它也被丢弃了数据。

我已经尝试了 -z1、-z2 和 -z3,但都没有将 ns 添加到 xml 的“数据”、“方法”或“输入”标签中。我希望看到 ns:data、ns:method 和 ns:input。

也尝试了其他排列(-i、-j)。感谢您的帮助。

有什么建议吗?

最佳答案

我遇到了同样的问题。在我的 *.h 文件上运行 2.8.55 的 soapcpp2.exe 时,'ns:' 消失了

最后,帮助解决这个问题的方法是在 *.h 文件的所有其他 '//gsoap' 属性部分添加以下行:

//gsoap ns schema elementForm: qualified

希望对你有帮助

关于c++ - gSOAP 从 2.8.10 升级到最新 (2.8.54) 没有 ns : for namespace on several XML tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com