Where did you use gSOAP?

Can you give examples of how you used gSOAP and how well it was integrated into the existing architecture? Have you discovered development bottlenecks with gSOAP?

+4
source share
5 answers

We used gSOAP to bundle ARM clients to communicate with the AXIS web service server. GSOAP Pros:

  • very powerful, supports almost all web service designs
  • easy to use, its abstraction of WS calls into functions removes all the complexity of the web service to the programmer.
  • elegant interface in both C and C ++

However, we encountered several development bottlenecks:

  • when using custom data types such as maps or sets, it takes quite a bit of hacking to get the gSOAP compiler to process them (marshal / unmarshalling). Especially bad with dynamic data structures.
  • Debugging is complicated due to its internal complex network, analysis and memory allocation. Do your best to stick to a static memory allocation.
  • the mailing list is live, but the developers are not very active. You can get quick answers to simple questions, but the toughest problems often go unanswered.
  • forget about optimization. A connection in gSOAP eats about 1 MB of memory at runtime (-O). Performance Runtime works great on our Linux 32-based ARM 32MB platform, but you really have little to do to optimize.
+3
source

We used gSOAP on a C ++ web server about 4 years ago. In general, it worked fine. The only serious problem was that the interface was in C and procedural (I understand that it is difficult to develop a good non-procedural interface). During the implementation of the interface, there may be a lot of repeating code for which you may have to use macros (we have not studied the option of templates too far).

+2
source

We use gSoap to deploy a web service on an embedded Linux device with an ARM MX processor.

+1
source

We use gSOAP to use the WCF-based web service from an application deployed on a Linux device running on an ARM processor. The experience is pretty good.

+1
source

We used gSOAP on a web server on ARM ARM9 400 MHz. gSOAP connected to the database daemon through the zeromq library, which runs on the same device.

It supports more than 1000 basic queries that do not require a database connection.

Disabling support for the multi-reference SOAP option with the WITH_NOIDREF definition helped reduce serialization time by about 4 times faster on large queries with a large number of serialization nodes.

0
source

All Articles