Ich habe kürzlich auch diese Frage untersucht, und die beste Option, die ich gefunden habe, war gSOAP, sie ist sehr ausgereift und gut getestet. Ich entschied mich jedoch für eine Nicht-SOAP-Route, was eine Option war, da ich sowohl auf Client- als auch auf Serverseite bin. Stellen Sie vor der Verwendung von gSOAP sicher, dass Sie mit Ihrer Lizenz leben können. Sie sind möglicherweise verpflichtet, Ihren Code freizugeben oder zu bezahlen, je nachdem, wie Sie ihn verwenden.
Eine andere Option ist Apache Axis2/C, obwohl ich keine Erfahrung damit habe (ich würde vermuten, dass es einen ähnlich großen Fußabdruck wie gSOAP hat). Ihre Client-API lautet here. Ein Lernprogramm für die Client-API lautet here.
Wenn Sie sich für die geparste XML-Route entscheiden, könnten Sie an this SO Frage interessiert sein (siehe Antworten).
Sie können boost :: spirit auch für die analysierte Route auschecken. Es hat die Fähigkeit, kleine, schnelle, spezialisierte (und allgemeine) Parser zu erstellen, wenn Sie mit C++ vertraut sind (sie können als reentrant geschrieben werden, so dass ein Aufruf durch ein statisches Objekt mit einer externen "C" -Schnittstelle koscher ist)). Ich kann dafür im allgemeinen Sinn bürgen (nicht spezifisch für XML). Steile Lernkurve, aber große Auszahlung.
Willkommen bei der (nicht so) "Simple Object Access Protocol" - die aufgeblähte
SchweinElefant Lösung für SOA (Service Oriented Architecture). –Ich verstehe nicht, warum SOAP hier schuld ist. Es ist die Größe der Service-Definition, die nichts mit SOAP zu tun hat. XML oder JSON über REST sind in der Größe gleich.Aber am Ende wäre das wahrscheinlich noch schlimmer, weil Sie die Serialisierung selbst programmieren müssen ohne eine bequeme Datenbindung, die den gesamten Code für Sie generiert. Ich verwende gSOAP für automatische Datenbindungen, klarer Gewinner. Sonst, ohne gSOAP, ist es der Vergangenheit zu verdanken, dass Programmierer lange Stunden mit langwieriger XML- oder JSON-API-Codierung für große Dienste verbringen. –
[Weitere Überprüfung ergibt] (https://www.genivia.com/dev.html#performance), dass eine hübsche Standard-App für den XML-Nachrichtenaustausch mit gSOAP weniger als 100k Code benötigt und 10k Nachrichten/Sek. Meistens werden sie automatisch von Werkzeugen kodiert, keine harte Arbeit. Willkommen in der Zukunft der automatischen Codierung. –