2009-07-10 136 views

回答

2

大約4年前,我們在基於C++的web服務器中使用了gSOAP。總的來說,它運行良好唯一的主要問題是界面是用C語言和程序(我知道很難設計一個好的非程序界面)。在實現接口時可能會有很多重複的代碼,爲此您可能必須使用宏(我們沒有深入探索模板選項)。

1

我們使用gSoap將Web服務部署到運行ARM MX處理器的嵌入式Linux設備上。

1

我們使用gSOAP從運行在ARM處理器上的Linux設備上部署的應用程序中使用基於WCF的Web服務。這個經驗在很大程度上是很好的。

3

我們使用gSOAP爲一堆ARM客戶端與AXIS Web服務服務器進行通信。 gSOAP的的優點:

  • 非常強大,支持幾乎所有的Web服務構建
  • 易於使用,它的WS的抽象調入功能刪除所有Web服務的複雜性給程序員在C和
  • 優雅的界面

    • 使用時:C++

    然而,我們遇到了一些發展瓶頸自定義數據類型如地圖或集合,需要相當一些黑客才能讓gSOAP編譯器處理它們(編組/解組)。對動態數據結構尤其不利。

  • 由於其內在的複雜網絡,解析和內存分配部件,調試很難。盡一切可能堅持靜態內存分配。
  • 郵件列表還活着,但開發人員並不是很活躍。簡單的問題可以很快得到解答,但最棘手的問題往往無法解決優化問題。 gSOAP鏈接在運行時消耗約1MB內存(-Os)。我們的32MB基於ARM的ARM板上的運行時性能很好,但如果需要的話,對於優化確實沒什麼作用。
0

我們在ARM ARM9 400MHz設備上的web服務器上使用了gSOAP。 gSOAP守護進程通過zeromq庫連接到數據庫守護進程,該庫在同一設備上運行。

它支持超過1000個基本請求,但不要求連接數據庫。

通過WITH_NOIDREF定義禁用對多引用SOAP選項的支持有助於在具有大量序列化節點的大型請求中將序列化時間縮短約4倍。