2011-03-15 165 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

回答