Object type via WebService in client geeft invalid cast

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Doel is om via een webservice een object door te sturen.
Onderstaand de code van webservice en client:

webservice code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 [WebMethod]
    public List<SearchResponseData> Search(string SearchString, int languageid)
    {
    
        Ektron.Cms.API.Search.SearchManager sm = new Ektron.Cms.API.Search.SearchManager();
        SearchRequestData requestData = new SearchRequestData();
        requestData.SearchText = searchTerm;
        requestData.SearchFor = Ektron.Cms.WebSearch.SearchDocumentType.all;
        requestData.EnablePaging = false;
        requestData.FolderID = 0;
        requestData.LanguageID = languageid;

        int resultCount = 0;
        return new List<SearchResponseData>(sm.Search(requestData, HttpContext.Current, ref resultCount));
    }

client code:
code:
1
2
3
4
5
6
7
8
private List<SearchResponseData> Search(string SearchString)
    {
        WsSearch.CmsSearch test = new WsSearch.CmsSearch();
        List<SearchResponseData> tt = new List<SearchResponseData>();
        tt = test.Search(SearchString, VisitorManager.LanguageCode);
        return  tt;
    }
]

ik krijg hierbij volgende error
code:
1
[Cannot implicitly convert type 'WsSearch.SearchResponseData[]' to 'System.Collections.Generic.List<Ektron.Cms.WebSearch.SearchData.SearchResponseData>']

De reference naar de class van het object "List<SearchResponseData>" is toegvoegd.

Alle hulp is welkom
Groeten,
Bart

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:07
Wat als je webmethod geen List<> doorstuurt, maar een array (SearchResponseData[]) ?

Je client moet nl. aan de hand van de WDSL het bijhorende type dat gereturned wordt, kunnen construeren. Ik weet niet of je dit kan met collections ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 00:05
De foutmelding is vrij duidelijk.
Tip: kijk eens naar het type van de variable 'tt' en wat Search teruggeeft
Tip 2: kijk eens naar de constructor van een willekeurige lijst (List<T>)

[ Voor 7% gewijzigd door Daspeed op 16-10-2008 11:36 ]