IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Communication Foundation .NET Discussion :

Problème avec mon webservice wcf


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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


    Un message inconnu … ‚t‚ re‡ue par le service wcf, sur l'ordinateur PC-de-axelle,
    Message :<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">
    <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/ISearch/Search</a:Action>
    <a:MessageID>urn:uuid:e712fca9-8d5a-4569-8f65-b35c66ee16bc</a:MessageID>
    <a:ReplyTo>
    <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">net.tcp://localhost:1550/</a:To>
    </s:Header>
    <s:Body>
    <Search xmlns="http://tempuri.org/">
    <Querydata xmlns:b="http://schemas.datacontract.org/2004/07/SearchContract" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <b:MaxResponsePerPage>10</b:MaxResponsePerPage>
    <b:NeedPageIndex>1</b:NeedPageIndex>
    <b:Query>merise</b:Query>
    <b:QueryFilter xmlns:c="http://schemas.microsoft.com/2003/10...ization/Arrays">
    </b:QueryFilter>
    <b:SafeSearch>false</b:SafeSearch>
    <b:TypeOfQuery>false</b:TypeOfQuery>
    </Querydata>
    </Search>
    </s:Body>
    </s:Envelope>
    J'ai beau chercher je ne trouve pas de solution.

    Merci de votre aide

  2. #2
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut
    J'ai changé de stratégie et intégré un nouveau endpoint
    wsHttpBinding
    directement dans mon queryserver du coup plus besoin de webservice et tout fonctionne niquel.

    Je me demande juste pourquoi je n'y avais pas pensé plutot , il y a des jours comme ça...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2006, 19h48
  2. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  3. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  4. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo