Question

Nous recherchons une infrastructure de services Web C ++ Soap prenant en charge le protocole RPC, de préférence open source. Des recommandations?

Était-ce utile?

La solution

WSO2 Web Services Framework pour C ++ (WSO2 WSF / C ++), une liaison de WSO2 WSF / C en C ++ est une extension C ++ permettant de consommer des services Web en C ++.

http://wso2.org/projects/wsf/cpp

Apache Axis est une infrastructure de services Web basée sur XML et à source ouverte. Il comprend une implémentation Java et C ++ du serveur SOAP, ainsi que divers utilitaires et API permettant de générer et de déployer des applications de service Web.

http://ws.apache.org/axis/

Autres conseils

http://code.google.com/p/staff/

Staff est constitué de Web Service Framework pour C ++ (service / composant et côté client) / JavaScript (côté client) basé sur Apache Axis2 / C.

Open-source, publié avec la licence Apache V2.0.

Essayez le ffead-cpp , il fournit un support de service Web intégré, Rest, JSON et de nombreuses autres fonctionnalités utiles.

Nous utilisons EasySoap ( http://easysoap.sourceforge.net/ )

Bien que FOSS ne soit pas une autre bibliothèque, il s'agit d'une serveur ATL bibliothèque de Microsoft. C'est un modèle C ++ basé sur certains attributs propriétaires de Microsoft. c'est-à-dire pas C ++ standard

Vous pouvez consulter xmlbeansxx. C'est une sorte de solution légère et de bas niveau, comparée aux frameworks complets. Cela présente des avantages dans certains cas.

Appel de services Web SOAP à l'aide de l'article xmlbeansx

L'exemple de code est ici: WsClient.cpp .

Vous pouvez essayer gSOAP . Disponible sous licence GPL et licences commerciales.

J'ai utilisé SWIG pour créer une interface de C ++ vers Java ou Python, puis un environnement Web classique. support d'interface pour ces langues.

Depuis que Java et Python ont la réflexion, les infrastructures de services Web qui existent pour elles ont beaucoup plus de facilité à transmettre des données.

En ce qui concerne les threads, si votre code C ++ est thread-safe, vous pouvez laisser le serveur Java gérer la création de threads pour les demandes simultanées, etc., et simplement appeler votre code C ++ à l'aide de JNI.

En prime, vous pouvez tester votre code C ++ à partir de Python en utilisant ces mêmes interfaces SWIG.

Je pense que la meilleure chose à faire est d'écrire votre service en C ++ (je suppose que vous avez fait tous les devoirs et qu'il y a une bonne raison pour laquelle vous voulez écrire en C ++), puis de l'utiliser avec un serveur RPC. Utilisez quelque chose comme Thrift ou Protobufs pour une implémentation rapide de RPC.

Ecrivez maintenant votre interface Web dans la langue de votre choix (python m'appartenant) et passez des appels RPC pour vous permettre de faire tout ce que vous voulez.

POCO Remoting vous offre un moyen très simple de créer des services Web dans C ++ en annotant simplement les définitions de classe C ++ avec des commentaires spéciaux et en exécutant un générateur de code dessus. C'est commercial, mais livré avec le code source complet. Une version d'évaluation gratuite est disponible. Fonctionne sous Windows, Linux, Mac OS X, etc.

Je suis d’accord avec la réponse d’imjorge et j’ajoute qu’il existe une version C / C ++ du framework Axis2 (un Axis plus flexible et extensible) qui gère SOAP via RPC et toutes sortes de choses, y compris un grand nombre de spécifications WS- *.

http://ws.apache.org/axis2/c/

Apache axis-c: Simple à utiliser, mais semble abandonné .. même les pages de téléchargement ne fonctionnent pas depuis plusieurs mois

WSOF WSFCPP: Développement rapide rapide, avec ou sans implémentation, basé sur Apache AxisC et il semble que la plupart des développeurs actuels d’Apache Axis proviennent de la société WSOF. Outre le Grand potentiel, j'ai détecté une fuite de mémoire.

J'utilise actuellement Gsoap et ses performances sont très bonnes. Gsoap " notation mixte " entre le style ancien c et certaines (mauvaises?) pratiques en C ++ me dérange un peu .. mais ce n’est que du code-furniture.

POCO: Est-ce qu'une bibliothèque complète (moderne? Java?) Ressemble à une bibliothèque. C'est un logiciel open source, sous licence Boost Software License 1.0. Vous devrez écrire certaines choses avec scrach, mais avec un excellent support, des classes utilitaires et une excellente bibliothèque, etc. apportera certainement c ++ à de nouveaux domaines de développement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top