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 :

Action Not Supported Exception


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut Action Not Supported Exception
    Bonjour,

    J'ai l'erreure suivante :

    The message with Action 'http://tempuri.org/ICollecteEnregistrement/SetServeurId' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
    Pour vous situer le contexte :

    J'ai un serveur d'enregistrement qui attribue une adresse à chaque nouveau serveur de collecte. Le problème c'est que je ne trouve pas d'ou vient l'erreur... Si vous avez une idée, c'est gentil de m'aider

    Host Serveur de Collecte :

    Code C# : 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
     
    using (ServiceHost host = new ServiceHost(typeof(Collecte)))
                {
                    host.Open();
     
                    Console.WriteLine("Serveur Collecte Started");
                    Console.WriteLine("Registring to Serveur Enregistrement");
     
                    using (ChannelFactory<IEnregistrement> channelFactory = new ChannelFactory<IEnregistrement>("Enregistrement"))
                    {
                        IEnregistrement proxyEnregistrement = channelFactory.CreateChannel();
                        proxyEnregistrement.Register();
                    }
     
                    Console.ReadLine();
                    host.Close();
                }

    Code C# : 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
    19
     
    public void Register()
            {
                Console.WriteLine(DateTime.Now.ToLongTimeString() + " : Register new server");
     
                string address = "net.tcp://localhost:[port]/Enregistrement";
     
                int port = GetFreeTcpPort();
                address = address.Replace("[port]", port.ToString());
     
                _serveursDeCollecte.Add(address, 0);
     
                using (ChannelFactory<ICollecteEnregistrement> channelFactory = new ChannelFactory<ICollecteEnregistrement>("Collecte"))
                {
                    ICollecteEnregistrement proxyCE = channelFactory.CreateChannel();
                    proxyCE.SetServeurId(port);
                    proxyCE.SetServeurAdress(address);
                }
            }

    App.config serveur Enregistrement :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <system.serviceModel>
        <client>
          <endpoint contract="ComInterface.ICollecteEnregistrement" binding="netTcpBinding" address="net.tcp://localhost:5556/Collecte" name="Collecte"/>
        </client>
        <services>
          <service name="ServeurEnregistrement.Enregistrement">
            <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding"  address="net.tcp://localhost:5555/Enregistrement"/>
          </service>
        </services>
      </system.serviceModel>

    App.config serveur Collecte :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <system.serviceModel>
        <client>
          <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding" address="net.tcp://localhost:5555/Enregistrement" name="Enregistrement"/>
        </client>
        <services>
          <service name="ServeurCollecte.Collecte">
            <endpoint contract="ComInterface.ICollecteClient" binding="netTcpBinding"  address="net.tcp://localhost:5556/Collecte"/>
          </service>
        </services>
      </system.serviceModel>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Je ne sais pas si je dis des bétises, t'utiliserais pas de façon anormale la proprieté Action de ton OperationContract ?

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut
    Je l'utilise pas

    Est ce qu'on peut pas communiquer avec un service au sein d'un même service?

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Points : 97
    Points
    97
    Par défaut
    Mon erreur :

    J'utilisais pas la même interface côté client et serveur

    Client :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <system.serviceModel>
        <client>
          <endpoint contract="ComInterface.ICollecteEnregistrement" binding="netTcpBinding" address="net.tcp://localhost:5556/Collecte" name="Collecte"/>
        </client>
        <services>
          <service name="ServeurEnregistrement.Enregistrement">
            <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding"  address="net.tcp://localhost:5555/Enregistrement"/>
          </service>
        </services>
      </system.serviceModel>

    Serveur avec erreur :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <system.serviceModel>
        <client>
          <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding" address="net.tcp://localhost:5555/Enregistrement" name="Enregistrement"/>
        </client>
        <services>
          <service name="ServeurCollecte.Collecte">
            <endpoint contract="ComInterface.ICollecteClient" binding="netTcpBinding"  address="net.tcp://localhost:5556/Collecte"/>
          </service>
        </services>
      </system.serviceModel>

    Serveur sans erreur :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <system.serviceModel>
        <client>
          <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding" address="net.tcp://localhost:5555/Enregistrement" name="Enregistrement"/>
        </client>
        <services>
          <service name="ServeurCollecte.Collecte">
            <endpoint contract="ComInterface.IEnregistrement" binding="netTcpBinding"  address="net.tcp://localhost:5556/Collecte"/>
          </service>
        </services>
      </system.serviceModel>

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

Discussions similaires

  1. Exception étrange : This parser does not support specification "null" version "null"
    Par laurent_m dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 02/11/2010, 16h20
  2. [Quartz][Tomcat] Jobs.xml file not found exception
    Par Arnaud Giuliani dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 05/08/2005, 09h20
  3. Fatal Error : OpenGL GLX extension not support
    Par kacedda dans le forum GLUT
    Réponses: 5
    Dernier message: 06/06/2005, 10h28
  4. [EJB Session] class not found exception ?
    Par champion dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 11/02/2005, 23h46

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