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 :

Premier test WCF non concluant, exception ServiceHasZeroAppEndpoints


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut Premier test WCF non concluant, exception ServiceHasZeroAppEndpoints
    Bonjour, tout le monde, j'ai suivi un tuto pour faire mes premières applications WCF et j'ai une exception à l'exécution de la partie serveur.

    J'ai un projet bibliothèque de service WCF qui possède l'interface :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    namespace WcfService
    {    [ServiceContract]
        public interface IServiceConvertisseur
        {
            [OperationContract]
            string GetData(int value);
     
            [OperationContract]
            CompositeType GetDataUsingDataContract(CompositeType composite);
     
            [OperationContract]
            decimal EuroToUsDollar(decimal montant);
     
            [OperationContract]
            decimal UsDollarToEuro(decimal montant);
        }
     
        // Utilisez un contrat de données comme indiqué dans l'exemple ci-après pour ajouter les types composites aux opérations de service
        [DataContract]
        public class CompositeType
        {
            bool boolValue = true;
            string stringValue = "Hello ";
     
            [DataMember]
            public bool BoolValue
            {
                get { return boolValue; }
                set { boolValue = value; }
            }
     
            [DataMember]
            public string StringValue
            {
                get { return stringValue; }
                set { stringValue = value; }
            }
        }
    }

    Puis, un second projet du type bibliothèque de service WCF qui implémente les interfaces :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    namespace WcfService
    {
        public class ServiceConvertisseur : IServiceConvertisseur
        {
            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
     
            public CompositeType GetDataUsingDataContract(CompositeType composite)
            {
                if (composite == null)
                {
                    throw new ArgumentNullException("composite");
                }
                if (composite.BoolValue)
                {
                    composite.StringValue += "Suffix";
                }
                return composite;
            }
     
            #region IServiceConvertisseur Membres
     
            public decimal EuroToUsDollar(decimal montant)
            {
                return montant * (decimal)1.32;
            }
     
            public decimal UsDollarToEuro(decimal montant)
            {
                return montant * (decimal)0.757;
            }
     
            #endregion
        }
    }

    Et enfin, un application hôte qui possède un fichier de configuration :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="WcfService.ServiceConvertisseur">
            <endpoint
              address="http://localhost:8018/ServiceConvertisseur"
              binding="basicHttpBinding"
              contract="WcfService.IServiceConvertisseur" />
          </service>
        </services>
      </system.serviceModel>
    </configuration>

    Mais quand j'exécute l'application hôte, j'ai ce message d'erreur :
    Le service 'WcfService.ServiceConvertisseur' ne possède aucun point de terminaison d'application (non infrastructure). Cela peut être dû au fait qu'aucun fichier de configuration n'a été trouvé pour votre application, qu'aucun élément de service correspondant au nom du service n'a été trouvé dans le fichier de configuration ou qu'aucun point de terminaison n'a été défini dans l'élément de service.
    J'ai vérifié les namespaces et noms des services, interfaces, ... et je ne trouve pas mon erreur.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour

    Est ce un service que tu host dans IIS ou dans une application ? (application service ou pas, ce n'est pas un problème).

    Si tu host dans IIS, il ne faut pas mentionner l'attribut adress dans le endpoint.

    Par ailleurs, si tu souhaites tester avec l'utiitaire WF Client Test il faut exposer le "mex" dans le fichier de configuration, donc rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    dans le noeud service.

  3. #3
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Bonjour

    Est ce un service que tu host dans IIS ou dans une application ? (application service ou pas, ce n'est pas un problème).

    Si tu host dans IIS, il ne faut pas mentionner l'attribut adress dans le endpoint.

    Par ailleurs, si tu souhaites tester avec l'utiitaire WF Client Test il faut exposer le "mex" dans le fichier de configuration, donc rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    dans le noeud service.
    Salut,
    je l'hoste dans une simple application (WPF) qui possède des boutons Start et Stop et je n'ai pas encore fait de client pour communiquera avec le serveur, je souhaite d'abord arriver à le faire tourner avant de m'attaquer au client.

    En fait, j'ai suivi ce tuto :
    http://webman.developpez.com/articles/dotnet/wcf/intro/

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Poste l'intégralité de ton fichier app.config, STP.

  5. #5
    Membre éclairé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Par défaut
    Ce que j'avais copié tout à l'heure était déjà l'intégralité du fichier de config :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="WcfService.ServiceConvertisseur">
            <endpoint
              address="http://localhost:8018/ServiceConvertisseur"
              binding="basicHttpBinding"
              contract="WcfService.IServiceConvertisseur" />
          </service>
        </services>
      </system.serviceModel>
    </configuration>
    C'est le fichier de config de l'application hôte.

    Par contre, la bibliothèque qui implémente l'interface contrat possède aussi un fichier de configuration automatiquement généré à la création du projet, je ne sais pas si c'est important et s'il peut rentrer en conflit avec celui de l'application hôte.

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par WebPac Voir le message
    .

    Par contre, la bibliothèque qui implémente l'interface contrat possède aussi un fichier de configuration automatiquement généré à la création du projet, je ne sais pas si c'est important et s'il peut rentrer en conflit avec celui de l'application hôte.
    Et d'où sort le fichier de configuration de la bibliothèque ?

    Ceci dit, un fichier de configuration sur une assembly n'est pas pris en compte normalement : il faut soit copier son contenu dans le fichier app.config soit gérer son chargement programmatiquement.

    Poste la config de l'assembly.

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

Discussions similaires

  1. Test AJAX non concluant
    Par stc074 dans le forum JSF
    Réponses: 1
    Dernier message: 16/09/2013, 11h41
  2. Config TexNicCenter et premier test de page
    Par JeanMi66 dans le forum Editeurs / Outils
    Réponses: 7
    Dernier message: 03/08/2007, 11h45
  3. [J2ME Polish] Premiers tests du sample "menu" proposé
    Par white-rabbit dans le forum Java ME
    Réponses: 2
    Dernier message: 02/08/2007, 18h26
  4. [AJAX] Mon premier test avec Ajax : échec
    Par Nasky dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/05/2007, 01h24
  5. Parsing en PHP non concluant ....
    Par ouioui2000 dans le forum Langage
    Réponses: 5
    Dernier message: 27/10/2005, 16h21

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