Mi è stato chiesto di esaminare il processo di compilazione di un'applicazione basata su un servizio esistente. Ha diversi moduli basati sui servizi in cui alcuni servizi sono forniti da una terza parte. I wsdls usati nel processo di compilazione vengono portati giù e nella build tramite http. Per competenza, sto usando maven 3 e axistools-maven-plugin per generare le classi da wsdl.WSDL generazione generazione ripetibile
Questo mi ha fatto pensare. Se il server remoto non funziona, la mia build fallirà. Se anche la wsdl cambia la mia build potrebbe fallire. Voglio questo? I wsdl remoti sono versionati nel nome servizio/wsdl, quindi non dovrebbero essere apportate modifiche importanti alle API, ma sono di terze parti e non posso davvero fare affidamento su questa convenzione.
Non sarebbe meglio scaricare il wsdl localmente e costruire contro un file che si trova sotto il controllo del codice sorgente? Avrei una build ripetibile corretta quindi senza il pericolo che il server remoto non sia disponibile. Questo però non sembra molto agile. Se adotto questo approccio, come faccio a rendermi conto di eventuali cambiamenti nel wsdl remoto?
Sono sicuro di non essere la prima persona a chiedermi le migliori pratiche sulla costruzione di wsdls. Qualcuno può evidenziare quale meccanismo è considerato il metodo migliore per produrre una build ripetibile dai servizi generati da wsdls remoti?
Potrebbe essere meglio su programmers.stackexchange.com ma è una buona domanda. – Qwerky
Il server che offre wsdl è così spesso che qualcuno lo ha notato o è solo un pensiero generale? Sembra un servizio inaffidabile :) Di solito sono più preoccupato per i cambiamenti piuttosto che per i tempi di inattività. Solo curioso, perché prima hai menzionato i tempi di fermo. – Scorpio
È abbastanza ok per mantenere una copia del WSDL localmente (come suggeriscono tutti).WSDL è un contratto per il servizio Web remoto. È del tutto normale che entrambe le parti mantengano una copia di un contratto soprattutto per risolvere le controversie successive quando il contratto viene modificato senza consultazione :-) –