2012-01-06 13 views
7

Sto per iniziare a lavorare su Axis/C. Ho una buona idea di C e dei servizi web separatamente. Sto anche abbastanza bene con * nix.Guida introduttiva ad Axis/C MIME/DIME e MTOM

Qualcuno può dirmi della complessità relativa alla creazione di un servizio Web con supporto per MIME/DIME e MTOM con Axis/C? Il webservice sarà invocato da client Java e C++.

L'asse/C presenta delle limitazioni note a questo proposito? Quali sono i migliori punti di partenza per l'apprendimento dell'Asse/C in generale e MTOM et al. supporto in particolare.

risposta

2

Vorrei consigliare contro Apache Axis/C o Axis2c per quella materia. Entrambi questi progetti mancano di uno sviluppo attivo e del contributo dei membri. L'ultima versione di Axis2c è stata pubblicata nel 2009 e il collegamento alla pagina di rilascio di Axis/c non funziona nemmeno.

ho sviluppato un ragionevolmente complessa implementazione web-services (sia client che server), e mi sono imbattuto in questi problemi:

  • documentazione è semplicemente OK. Niente di eccezionale.
  • La restituzione dei codici di stato a tua scelta non è facile.
  • Alcuni verbi HTTP hanno bug, ad esempio non riesco a far funzionare DELETE.
  • Ho riscontrato problemi con la libreria XML fornita guththila. libxml ha funzionato meglio per me.
  • È difficile creare percorsi REST complessi per l'applicazione.
  • La gestione degli oggetti XML in ingresso è piuttosto complessa e scomoda. Ho finito per scrivere una libreria di funzioni di convenienza.
  • Supporto JSON mancante.
  • L'applicazione tenderà a diventare grande con ogni implementazione del servizio lato server che esegue in lease un centinaio di righe di codice.

WSO2 sembra essere un'altra opzione per quanto riguarda i servizi Web in C. Il team di Axis2C è comunque pieno di persone WSO2. Non l'ho ancora provato, ma sicuramente sembra più promettente di Axis2C.

+0

Grazie per condividere la vostra esperienza. Ma la mia domanda riguarda più specificamente MIME/DIME e MTOM. – Jaywalker

1

ho dovuto modificare il codice per farlo Asse 1 per compilare su Fedora 13 + Credo che ho dovuto aggiungere un po 'virtuale pura in cui il codice