2011-01-03 10 views
7

Il mio google-fu non sta presentando risultati molto promettenti per una libreria SOAP in java, principalmente per la configurazione di servizi SOAP dove ho bisogno di comunicare Con un tale servizioQual è la libreria SOAP migliore e più comprensibile disponibile in relazione all'interrogazione non pubblicata

Mi rendo conto che SOAP è solo una questione di costruzione e analisi di XML, ma idealmente mi piacerebbe mappatura degli oggetti e gestione effettuata in modo trasparente.

Finora ho esaminato Apache Axis e X-Fire (ora Apache CXF) ed entrambi sembrano occuparsi maggiormente dei servizi SOAP rispetto a quelli che funzionano effettivamente con i servizi SOAP.

Qualcuno potrebbe guidarmi verso qualsiasi gemma per trattare con SOAP o avere esperienza personale di servizi SOAP in Java.

+0

Che cosa intendi quando gestisci più di servizi di manutenzione? Axis, CXF sono abbastanza buoni in quel dominio. Puoi anche guardare a spring-ws. –

+0

vtd-xml può aiutarti, anche se è solo un pacchetto parser/xpath/indexing che sostituisce DOM, SAX o Stax –

+0

+1 per avermi introdotto a "Google-fu", HA! Ma dovresti accettare una risposta per indicare quale metodo è stato più produttivo per te. – Kingsolmn

risposta

4

Per interrogare un servizio SOAP, è possibile utilizzare un'implementazione dello standard JAX-WS come Project Kenai o la versione predefinita inclusa in JDK 6+.

This article mostra un esempio di configurazione di un client SOAP (rispetto a un server) che utilizza lo standard. Dato un WSDL, dovresti essere in grado di utilizzare strumenti standard per il tuo client. This è un altro esempio.

4

Le strutture citate producono codice client.
E.g. per CXF How-to-create-client
Non solo distribuiscono un servizio Web. Forniscono anche il codice client per consumarlo!
L'idea è di eseguire lo strumento automatico corrispondente (wsdl2java per CXF o wsimport fornito con Java per jax-ws) per analizzare il WSDL del servizio e verranno creati gli stub client e le risorse necessarie per comunicare con il servizio Web.
Quindi nel codice si utilizzano gli stub client per comunicare con il servizio Web mentre il marshall/demarsalling da XML a tipi java viene gestito in modo trasparente dal framework.
C'è anche JAX-WS che puoi esaminare e se vuoi qualcosa di semplice puoi usare SAAJ per inviare messaggi di sapone direttamente all'endpoint del servizio web.
Nei framework che menzionate dovresti esaminare le parti che si riferiscono alla generazione dello stub client e al consumo di servizi Web

Problemi correlati