Problème avec mon webservice wcf
J'ai un webservice WCF qui expose une méthode Search() qui prend en paramètre le datacontrat suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
[DataContract]
public class SearchQuery
{
[DataMember]
public Dictionary<string, KeyValuePair<string, int>> QueryFilter;
public SearchQuery();
[DataMember(EmitDefaultValue = true)]
public int MaxResponsePerPage { get; set; }
[DataMember]
public int NeedPageIndex { get; set; }
[DataMember(EmitDefaultValue = true)]
public string Query { get; set; }
[DataMember(EmitDefaultValue = true)]
public bool SafeSearch { get; set; }
[DataMember(EmitDefaultValue = true)]
public bool TypeOfQuery { get; set; }
} |
J'ai ajouté a mon client une référence de service vers heu ce service dans mon client en utilisant le wizzard de vst 2008.
Mon soucis vient du fait que mon webservice relai des données en fait, quand la fonction Search() exposée est invoquer les données sont transmises à une autre application nommée QueryServer qui maintient un index fulltext lucene
voici la fonction qui permet de faire cela:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public List<SearchContract.SearchData> Search(SearchContract.SearchQuery Querydata)
{
try
{
// Envoie des données au QueryServer
ChannelFactory<IRemoteOperations.ISearch> _search = new ChannelFactory<IRemoteOperations.ISearch>("QueryServer");
IRemoteOperations.ISearch _s = _search.CreateChannel();
return _s.Search(Querydata);
}
catch
{
return null;
}
} |
Concrètement mon architecture est la suivante:
[page.aspx] <-> [webservice] <-> [queryserver]
Mon problème est que mon queryserver ne comprend pas les données qui lui sont transmises et renvoie l'erreur suivante
J'ai beau chercher je ne trouve pas de solution.
Merci de votre aide