Domanda

Cerchiamo un framework per servizi web Soap C++ che supporti RPC, preferibilmente open source.Qualche consiglio?

È stato utile?

Soluzione

WSO2 Web Services Framework per C++ (WSO2 WSF/C++), un collegamento di WSO2 WSF/C in C++ è un'estensione C++ per l'utilizzo di servizi Web in C++.

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

Apache Axis è un framework di servizi Web open source basato su XML.Consiste in un'implementazione Java e C++ del server SOAP e varie utilità e API per la generazione e la distribuzione di applicazioni di servizi Web.

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

Altri suggerimenti

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

Staff è Web Service Framework per C++ (servizio/componente e lato client)/JavaScript (lato client) basato su Apache Axis2/C.

Open source, rilasciato con licenza Apache V2.0.

Prova il ffead-cpp framework, fornisce supporto per servizi Web integrato, resto, JSON e molte altre funzionalità utili.

Stiamo utilizzando EasySoap (http://easysoap.sourceforge.net/)

Sebbene non sia FOSS, un'altra libreria lo è Server ATL libreria di Microsoft.È un modello C++ basato su alcuni attributi proprietari di Microsoft.cioè.non C++ standard

Puoi controllare xmlbeansxx.Questa è una sorta di soluzione leggera e di basso livello, rispetto ai framework completi.Ciò presenta dei vantaggi in alcuni casi.

Invocazione dei servizi Web SOAP utilizzando xmlbeansxx Articolo

L'esempio di codice è qui:WsClient.cpp.

Potresti provare gSOAP.Disponibile con licenze GPL e commerciali.

ho usato SWIG per creare un'interfaccia da C++ a Java o Python e quindi utilizzare il tipico supporto dell'interfaccia web per tali linguaggi.

Poiché Java e Python riflettono, i framework dei servizi Web esistenti per loro hanno un tempo molto più semplice nel trasferire i dati.

Per quanto riguarda il threading, se il tuo codice C++ è thread-safe puoi consentire al server Java di gestire la creazione di thread per richieste simultanee, ecc.e chiama semplicemente il tuo codice C++ usando JNI.

Come bonus puoi testare il tuo codice C++ da Python utilizzando queste stesse interfacce SWIG.

Penso che la strada da percorrere sia scrivere il tuo servizio in C++ (suppongo che tu abbia fatto tutti i compiti e ci sia una buona ragione per cui vuoi scrivere in C++) e poi affrontarlo utilizzando un server RPC.Usa qualcosa come Thrift o Protobufs per un'implementazione RPC veloce.

Ora scrivi il tuo frontend web nella lingua che preferisci - Python sarebbe il mio - ed effettua chiamate RPC per svolgere tutto il lavoro pesante.

POCO Remotazione ti offre un modo molto semplice per creare servizi web in C++ semplicemente annotando le definizioni di classe C++ con commenti speciali ed eseguendo su di esse un generatore di codice.È commerciale, ma viene fornito con il codice sorgente completo.È disponibile una versione di valutazione gratuita.Funziona su Windows, Linux, Mac OS X, ecc.

Concordo con la risposta di imjorge e aggiungo che esiste una versione C/C++ del framework Axis2 (un Axis più flessibile ed estensibile) che esegue SOAP tramite RPC e ogni genere di cose, incluse un sacco di specifiche WS-*.

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

Apache asse-c:Semplice da usare, ma sembra abbandonato..nemmeno le pagine di download funzionano da diversi mesi

WSOFWSFCPP:Sviluppo rapido di avvio rapido, implementazione sia vincolata che non vincolata, basato su Apache AxisC e sembra che la maggior parte degli attuali sviluppatori di Apache Axis provenga dalla società WSOF.Oltre al Grande potenziale ho rilevato una perdita di memoria.

Attualmente sto utilizzando Gsoap e ha ottime prestazioni.La "notazione mista" di Gsoap tra il vecchio stile C e alcune (cattive?) pratiche per il C++ mi dà un po' fastidio..ma questo è solo arredo in codice.

POCO:È una libreria moderna (Java?) completa di tutte le funzionalità.È un software open source, concesso in licenza con la licenza Boost Software 1.0.Dovrai scrivere alcune cose da scrach, ma con un ottimo supporto, classi di utilità e un'ottima libreria ecc.Le innovazioni da c++11+ con tutte le iniziative di potenziamento + POCO + un nuovo sistema di build/dipendenza più "gradle like" porteranno sicuramente c++ in nuove aree di sviluppo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top