Qualche giorno fa ho affrontato il problema dell'XmlSerializer quando si usa un web service. Bene, ho fatto alcune ricerche su Internet per verificare se vi era una soluzione già pronta all'uso; e ne ho trovate due interessanti.
La prima si basa su una SoapExtension (http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20031007XMLAS/manifest.xml e http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20031016XMLAS/manifest.xml) la quale applica una validazione basata sullo schema XML del messaggio entrante. Benchè sia una soluzione funzionante non mi esalta al massimo in quanto lo schema XML deve prendere in considerazione tutto il messaggio entrante (SOAP) e non solamente alcuni elementi di questo (es. ordine, fattura, ecc.).
Una alternativa (a parer mio molto più valida), consiste nell'applicare la validazione sui singoli elementi (o parametri del web method) sempre basandosi sugli schemi XML (http://msdn.microsoft.com/msdnmag/issues/02/12/xmlschemaimporting/default.aspx).In questo modo è possibile sfruttare anche la generazione automatica (e più completa) del WSDL oltre che validare il messaggio in ingresso.