Salve ragazzi è da poco che smanetto con VS 2005 e mi trovo ora ad affrontare
una problematica che non riesco a risolvere.
In breve ho un web service che lavora con un dataset tipizzato e attualmente ha
due soli webmethod; uno che mi ritorna l'intero dataset
e funziona alla grande.codice:[WebMethod(EnableSession = false)] public aikonDataSet GetDataAikon() { try { aikonDataSet ds = new aikonDataSet(); aikonDataSetTableAdapters.tblCittaTableAdapter da = new aikonDataSetTableAdapters.tblCittaTableAdapter(); da.Fill(ds.tblCitta); ........ return ds;
L'altro metodo
non funziona....nel senso che non mi solleva nessuna exception e mi ritorna il valore truecodice:[WebMethod(EnableSession=false)] public bool UpdateCitta(aikonDataSet.tblCittaDataTable dt) { try { aikonDataSetTableAdapters.tblCittaTableAdapter da = new aikonDataSetTableAdapters.tblCittaTableAdapter(); da.Update(dt); return true; ..........
ma non mi effettua la modifica nel database.
Dal client (windows application)
lo chiamo in questo modo:
La riga commentata l'ho utilizzata per verificare se il datatable fosse pieno ecodice://ds.tblCitta.WriteXml("testClient.xml"); AikonWS.AikonWs objWS = new AikonWs(); objWS.Credentials = System.Net.CredentialCache.DefaultCredentials; if (objWS.UpdateCitta(ds.tblCitta)) { ds.AcceptChanges(); ds.WriteXml("DataAikon.ds"); MessageBox.Show("Update Completed."); }
in effetti a quel punto lo è;
Nel webmethod (UpdateCitta) ho provato a fare lo stesso cioè a salvarmi il datatable
su file e il risultato è un file con il solo tag iniziale xml ma vuoto.
Inoltre se nel webmethod (UpdateCitta) uso l'overload
funziona alla grande....quindi è come se il web service non riuscisse a serializzare il datatable.codice:da.Update("ROMAAAA", 1, "ROMA");
Dov'è che sbaglio?
Questa cosa mi sta facendo impazzire![]()
Grazie mille.

Rispondi quotando