Domanda

La società per cui lavoro ha una grande webapp scritta in C ++ come estensione ISAPI (non come filtro). Attualmente stiamo migliorando il nostro sistema per integrarlo con diversi strumenti di terze parti che dispongono di interfacce SOAP. Invece di fare il nostro, penso che probabilmente sarebbe meglio se usassimo qualche libreria SOAP. Idealmente, sarebbe gratuito e open source, ma avrebbe una licenza compatibile con il software commerciale a sorgente chiuso. Dobbiamo anche supportare SSL per i messaggi SOAP in entrata e in uscita.

Una delle maggiori preoccupazioni che ho è che ogni libreria SOAP che ho visto sembra avere 2 modalità operative: server standalone e modulo server (modulo Apache o filtro ISAPI). Ovviamente, non possiamo usare il server standalone. Mi sembra che se funziona come un modulo, non farà parte della mia app - non avrà accesso al resto del mio codice, quindi non sarà in grado di condividere strutture di dati, ecc. È un presupposto corretto? Ogni richiesta HTTP elaborata dalla nostra app è gestita da un thread separato (gestiamo il nostro pool di thread), ma abbiamo molti dati persistenti condivisi tra quei thread. Penso che il tipo di integrazione che sto cercando sia quello di aggiungere un po 'di codice alla mia app che guardi l'URL della richiesta, veda che sta provando ad accedere a un servizio SOAP e chiama alcune funzioni come soapService.handleRequest (). Non sono a conoscenza di nulla che offra questo tipo di integrazione. Dobbiamo essere in grado di utilizzare le strutture di dati della nostra app principale nelle funzioni del gestore SOAP.

Oltre a gestire le richieste SOAP in arrivo, le genereremo anche (comunicazione bidirezionale con terze parti). Presumo che qualsiasi libreria SOAP soddisferà questo scopo, giusto?

Qualcuno può suggerire una libreria SOAP in grado di farlo o offrire un suggerimento su come usare un diverso paradigma? Ho già visto Apache Axis2, gSOAP e AlchemySOAP, ma forse c'è una caratteristica di questi che ho trascurato. Grazie.

È stato utile?

Soluzione

GSoap è una grande pila di sapone open source cross-platfrom.

È VELOCE.

Ottima interoperabilità

Molte librerie di soap open source non hanno una grande interoperabilità con java / c # / python / qualunque cosa.

Analizza i payload ENORMI mentre utilizza pochissima memoria.

È open source!

Dato che stai usando un'estensione IIS, dovrai aggiungere gsoap alla tua app, ricompilare la tua estensione dll con questa: http://aberger.at/SOAP/iis_index.html e dovresti essere pronto a partire.

gSOAP http://www.cs.fsu.edu/~engelen/soap.html

Altri suggerimenti

Dai un'occhiata a Server ATL Questa libreria veniva spedita con Visual C ++, ma ora è un progetto open source separato

GSOAP funziona bene per il codice c ++

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