2017-10-10 42 views
0

當前將gSOAP從2.8.10升級到2.8.54。這是一個C++代碼生成工具,允許rpc通過XML。由新版本生成的代碼不生成與早期版本兼容的XML。想知道是否有人在他們的C++產品中查看/使用過這些版本的gSOAP,並發現用於編組的XML有所不同。gSOAP從2.8.10升級到最新(2.8.54)沒有ns:用於多個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; 

和54年2月8日已

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'data','method'或'input'標記中。我期望看到ns:data,ns:method和ns:input。

也試過其他排列(-i,-j)。 任何幫助表示讚賞。

有什麼建議嗎?

回答

2

我有同樣的問題。當我*.h文件運行soapcpp2.exe of 2.8.55'ns:'消失

最後,是什麼幫助解決這一被添加在*.h文件中的以下行,在所有其他'//gsoap'屬性的部分:

//gsoap ns schema elementForm: qualified 

希望這將幫助