C++ 从2.8.10升级到最新版本(2.8.54)的gSOAP在几个XML标记上没有ns:for命名空间

C++ 从2.8.10升级到最新版本(2.8.54)的gSOAP在几个XML标记上没有ns:for命名空间,c++,xml,gsoap,C++,Xml,Gsoap,目前正在将gSOAP从2.8.10升级到2.8.54。这是一个C++代码生成工具,允许RPC通过XML。新版本生成的代码没有生成与早期版本兼容的XML。想知道是否有人在他们的C++产品中查看/使用这些版本的gSOAP,发现了用于封送处理的XML的差异。 XML代码需要匹配,因为2.8.10产品需要与使用2.8.54的产品对话 我当前的问题是动态生成的代码中输入和数据的名称空间,该代码生成2.8.10版本的XML if (soap_out_PointerTostd__string(soap, "n

目前正在将gSOAP从2.8.10升级到2.8.54。这是一个C++代码生成工具,允许RPC通过XML。新版本生成的代码没有生成与早期版本兼容的XML。想知道是否有人在他们的C++产品中查看/使用这些版本的gSOAP,发现了用于封送处理的XML的差异。 XML代码需要匹配,因为2.8.10产品需要与使用2.8.54的产品对话 我当前的问题是动态生成的代码中输入和数据的名称空间,该代码生成2.8.10版本的XML

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:被删除用于方法和输入?数据也被删除

我尝试过-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

希望这会有所帮助

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

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

//gsoap ns schema elementForm: qualified
希望这会有所帮助