Writing a C ++ SOAP (multi-threaded) client application - without gSOAP

I am writing a multi-threaded SOAP (Linux) client to interact with the Betfair API. At first I tried to handle gSOAP, but I just can't get it to work correctly using multiple WSDL files so that I temporarily give up on this. I implemented my own classes for storing data and parsing / generating XML using RapidXML - the only thing I am looking for is what should be used for the transport aspect of HTTPS. I implemented some source test applications using OpenSSL and libcurl, they work fine, but I had some problems with multi-threaded aspects, and they are more C than C ++, and to be honest, I was looking for something more modern. So my question is this: if I were to rewrite this from scratch, what would be the best tool for working with HTTPS transport.I explored the following possibilities

  • OpenSSL (implemented)
  • libcurl (implemented)
  • boost :: asio library (did not try, because until I tried Boost)
  • Try to do it all yourself using socket programming (don't get carried away with this approach)
  • Just try and pull out gSOAP and surf the web so they can work.
  • Something completely different that I have not yet met.

So basically, considering the above, what would someone recommend as the best approach to use in terms of reliable performance and minimal problems with multi-threaded processing? Or did anyone have any experience with poor work on any of the above and would discourage me from using it ??? Any suggestions and recommendations would be greatly appreciated.

+5
source share
2

, boost:: asio , . , , boost:: asio - , ; HTTPS boost:: asio, . this. , , boost:: asio.

libcurl, OpenSSL API, , ; . , , , .

gSOAP SOAP, , , , WSDL . .

boost:: asio, , OpenSSL, .

+3

, Poco. , .

  • XML- ( API DOM SAX);
  • HTTP HTTPS-.
+2

All Articles