你在哪里使用过gSOAP?

时间:2009-07-10 10:05:07

标签: soap gsoap case-study

您能举例说明您如何使用gSOAP以及它在现有架构中的集成程度吗?您是否发现了使用gSOAP的开发瓶颈?

5 个答案:

答案 0 :(得分:3)

我们使用gSOAP为一堆ARM客户端与AXIS Web服务服务器进行通信。 gSOAP的优点:

  • 非常强大,几乎支持所有Web服务构造
  • 易于使用,它将WS调用抽象为函数会删除程序员的所有Web服务复杂性
  • C和C ++中优雅的界面

然而,我们遇到了几个发展瓶颈:

  • 当使用自定义数据类型(如地图或集合)时,需要相当多的黑客才能让gSOAP编译器处理它们(编组/解组)。动态数据结构特别糟糕。
  • 调试很难,因为它内在的复杂网络,解析和内存分配部分。尽一切可能坚持静态内存分配。
  • 邮件列表还活着,但开发人员对此并不十分了解。简单的问题可以快速得到解答,但最棘手的问题通常没有答案
  • 忘记优化。 gSOAP中的链接在运行时(-Os)占用大约1MB的内存。我们的32MB基于Linux的ARM板上的运行时性能很好,但如果你需要它,那么优化几乎没什么可做的。

答案 1 :(得分:2)

我们在大约4年前在基于C ++的Web服务器中使用了gSOAP。总的来说它运作良好。唯一的主要问题是接口是C语言和程序(我理解很难设计一个好的非过程接口)。在实现接口时可能会有很多重复的代码,您可能必须使用宏(我们之前没有探索模板选项)。

答案 2 :(得分:1)

我们正在使用gSoap将Web服务部署到运行ARM MX处理器的嵌入式Linux设备中。

答案 3 :(得分:1)

我们正在使用gSOAP从部署在ARM处理器上运行的linux设备上的应用程序中使用基于WCF的Web服务。经验在很大程度上是好的。

答案 4 :(得分:0)

我们在ARM ARM9 400MHz设备上的Web服务器中使用了gSOAP。 gSOAP守护程序通过zeromq库连接到数据库守护程序,该库在同一设备上运行。

它支持超过1000个基本请求,这些请求不需要连接到数据库。

通过WITH_NOIDREF定义禁用对多引用SOAP选项的支持有助于在具有大量序列化节点的大请求上将序列化时间减少约4倍。