Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Web service che ritorna un dataset, non riesco ad applicarlo..

    ciao, ho fatto un piccolo web service che contiene un webmethod che fà una query su una base dati e che ritorna un dataset.
    Il web service funziona perfettamente se lo lancio da browser.. ritornandomi i nodi xml con il risultato della query.
    Adesso voglio richiamare questo webservice su una applicazione (ho provato winform, webform e device application con lo stesso risultato) ed ho dato anche una sbirciatina su internet per vedere se e dove sbagliavo.. ma mi sono accorto che non stò sbagliando.. o che cmq anche su tanti altri esempi la procedura è praticamente uguale alla mia..
    Ecco il webmethod:
    codice:
    public DataSet ReturnData() {
           
            OleDbConnection cn = new OleDbConnection("Stringa di connessione");
            OleDbDataAdapter adp = new OleDbDataAdapter("query",cn);
            DataSet ds = new DataSet();
            adp.Fill(ds,"all");
            return ds; 
        }
    creo una applicazione windows form con vs 2005 e aggiungo una webreference all'indirizzo del webservice.

    codice:
    using namespace_applicazione.nome_webservice;
    ...
    private void pulsante_Click(object sender, EventArgs e)
            {
               nome_webservice.classe_webservice AAAA = new classe_webservice();
               DataSet ds =  AAAA.ReturnData();
             }
    sulla riga:
    codice:
    DataSet ds =  AAAA.ReturnData();
    mi viene ritornato un errore di conversione di tipi:
    Cannot implicitly convert type 'namespace_applicazione.nome_webservice.ReturnData ResponseReturnDataResult' to 'System.Data.DataSet'
    questo: "ReturnDataResponseReturnDataResult"
    mi ha incuriosito e sono andato a vedere cos'era nel file 'Reference.cs' creato automaticamente da visual studio al momento dell'aggiunta della web reference..
    a parte il fatto che la parola "ReturnData" è il nome del metodo che ritorna il dataset.. non riesco proprio a capire di cosa si tratti..
    ecco cosa vedo nel file 'Reference.cs' (ovviamente non c'è solo questo metodo)
    codice:
    public ReturnDataResponseReturnDataResult ReturnData() {
                object[] results = this.Invoke("ReturnData", new object[0]);
                return ((ReturnDataResponseReturnDataResult)(results[0]));
            }
    che cavolo è questo tipo ReturnDataResponseReturnDataResult?

    Grazie

  2. #2
    hai provato a fare un cast esplicito a dataset?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.