17. oktober 2007 - 18:13Der er
1 kommentar og 1 løsning
DataTable til en webservice fra en "tyk" klient.
Hej,
Jeg har lavet en funktion i en webservice der acceptere 2 parametre, den ene er en DataTable og den anden en Integer.
I funktionen bliver dataTable'n læsset ind i en fysisk DB.
Mit spørgsmål er, når jeg vil bruge min webservice funktion får jeg en bug i klienten der fortæller mig at den DataTable jeg forsøger at sende ikke kan konverteres til den datatable der er i serveren. I mit tilfælde hedder den logDT. Parameteren er lavet som 'ByVal logDT as DataTable' og alligevel vil den ikke acceptere den.
Hvad gør jeg galt, er der en anden opskrift den denne slags ?
Min erfaring er at du ikke kan overføre datatables via webservices, men du kan derimod overføre DataSet. Så hvis du skriver din Webservice om til at benytte et DataSet i stedet for så burde det lykkes.
I din klientet gør du følgende, når du har dit datatable (logDT):
Dim logDS as New DataSet logDS.tables.add(logDT) dk.servernavn.servicenavn.funktionsnavn(logDS)
På serversiden skal du så bare først sikre dig at DataSettet indeholder dit table: If Not logDS is nothing andalso logDS.tables.count > 0 Then Dim logDT as DataTable = logDS.tables(0) ' lidt en skør måde at gøre det på, idet du ligeså godt kunne anvende datasettet. End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.