你在哪里使用过gSOAP?

你在哪里使用过gSOAP?,soap,gsoap,Soap,Gsoap,您能否举例说明如何使用gSOAP,以及它在现有体系结构中的集成程度如何?您发现gSOAP的开发瓶颈了吗?大约4年前,我们在基于C++的web服务器中使用了gSOAP。总的来说,效果不错。唯一的主要问题是接口是C语言和过程化的(我知道很难设计一个好的非过程化接口)。在实现接口时,可能会有很多重复的代码,因此您可能必须使用宏(那时我们没有深入探讨模板选项) 我们使用gSoap将web服务部署到运行ARM MX处理器的嵌入式linux设备上。我们使用gSoap从部署在运行ARM处理器的linux设备上

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

大约4年前,我们在基于C++的web服务器中使用了gSOAP。总的来说,效果不错。唯一的主要问题是接口是C语言和过程化的(我知道很难设计一个好的非过程化接口)。在实现接口时,可能会有很多重复的代码,因此您可能必须使用宏(那时我们没有深入探讨模板选项)

我们使用gSoap将web服务部署到运行ARM MX处理器的嵌入式linux设备上。

我们使用gSoap从部署在运行ARM处理器的linux设备上的应用程序中使用基于WCF的web服务。这种体验在很大程度上是好的。

我们将gSOAP用于一组ARM客户端,以与AXIS Web服务服务器进行通信。gSOAP的优点:

  • 非常强大,支持几乎所有的Web服务构造
  • 易于使用,它将WS调用抽象为函数,消除了程序员对Web服务的所有复杂性
  • C和C语言中优雅的接口++
然而,我们遇到了几个发展瓶颈:

  • 当使用诸如映射或集合之类的自定义数据类型时,需要相当多的黑客才能让gSOAP编译器处理它们(封送/解封送)。尤其是动态数据结构
  • 由于其固有的复杂网络、解析和内存分配部分,调试非常困难。尽一切可能坚持静态内存分配
  • 邮件列表是活动的,但是开发人员对它不是很活跃。简单的问题可以很快得到解答,但最棘手的问题往往得不到解答
  • 忘记优化吧。gSOAP中的链接在运行时(-Os)消耗大约1MB的内存。在我们基于32MB linux的ARM板上,运行时性能很好,但是如果您需要的话,在优化方面几乎没有什么可做的

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

      它支持1000多个基本请求,不需要连接到数据库

      WITH_NOIDREF define禁用对多引用SOAP选项的支持有助于在具有大量序列化节点的大型请求上将序列化时间缩短约4倍