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

Services Web Discussion :

[WCF] No endpoint defined


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut [WCF] No endpoint defined
    Hello,

    J'ai créé un service WCF hosté dans une application console.

    Le hic, c'est que le service s'arrête car :
    Citation Envoyé par WCF Service Host
    The service cannot be started. This service has no endpoint defined. Please add at least one endpoint for the service in config file and try again.
    Pourtant, j'ai bien un endpoint dans le fichier de config (2 en fait, mais le 2e avec l'adresse "mex", je ne sais pas encore d'où il vient n'y à quoi il sert.. Je dois encore creuser)
    Voici le fichier de config de l'application console :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <bindings />
        <services>
          <service name="Server.InvoiceService">
            <clear />
            <endpoint address="" binding="netTcpBinding" contract="Contracts.IInvoiceService" />
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8733/Design_Time_Addresses/Server/InvoiceService/" />
                <add baseAddress="net.tcp://localhost:8732/Server/InvoiceService/" />
              </baseAddresses>
            </host>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- To avoid disclosing metadata information, 
              set the values below to false before deployment -->
              <serviceMetadata httpGetEnabled="True" httpsGetEnabled="False"/>
              <!-- To receive exception details in faults for debugging purposes, 
              set the value below to true.  Set to false before deployment 
              to avoid disclosing exception information -->
              <serviceDebug includeExceptionDetailInFaults="True" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
    </configuration>
    Et voici le code de l'application console qui host le service.
    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
    19
    Imports System.ServiceModel
    Imports Contracts
    Imports Server
     
    Module Module1
     
        Sub Main()
            Using host As New ServiceHost(GetType(InvoiceService))
     
                'host.AddServiceEndpoint(gettype(IInvoiceService), New NetTcpBinding,"net.tcp://localhost:8732/Server/InvoiceService/")
     
                host.Open()
     
                Console.WriteLine("Service started")
                console.ReadLine()
            End Using
        End Sub
     
    End Module
    Dernièrement, j'ai ajouté la ligne qui est commenté histoire de testé en ajoutant un endpoint avant d'ouvrir le service. En faisant, il me râle dessus en disant qu'il y a déjà un endpoint qui utilise cette adresse... Faudrait savoir !

    Help please

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut J'aimerais comprendre...
    Finalement, je décide de quand même avancer sur le client en attendant d'avoir une illumination pour la partie hosting.

    Puis finalement, en testant je me dis
    Citation Envoyé par Kropernic à soi-même
    C'est quand même bizarre que j'ai la fenêtre WCF Service Host qui me dit que le service est stopped avant que la fenêtre console ne m'affiche que le service est bien démarré
    Du coup, je tente quand même une connexion via le client winform et en fait, ça fonctionne... Connexion et déconnexion, ça communique sans problème.

    Pourquoi diable cette fichue fenêtre intitulée "WCF Service Host" m'affiche des informations erronées ??

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Le endpoint "mex" est là pour gérer les échanges de méta données. C'est équivalent au WSDL... Tu peux creuser un peu plus en lisant ici : WSDL vs MEX, knockout or tie?

    Pour ton problème, as-tu bien mis l'attribut [ServiceContract] sur l'interface ?

    Une fois le projet créé, si tu as renommé des choses avec l'aide de Resharper, il faut aussi les renommer dans le fichier de config, car Resharper ne gère pas les fichiers de config.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je viens d'arriver chez moi donc je pourrai donner plus de détails mais sinon oui, j'ai bien tous les bons noms partout. C'est la réponse la plus courante quand on cherche le pourquoi du comment via google donc j'ai déjà vérifié.

    Maintenant, j'ai p-e besoin de lunette. Plus de détails lundi (avec le noms des classes, le fichier de config est déjà là).

    J'ai aussi bien mis l'attribut servicecontract. D'ailleurs, le service fonctionne bien en fait, c'est juste la fenêtre de WCF qui m'indique le contraire...

Discussions similaires

  1. [WCF] XmlSerializer avec json endpoint
    Par roots_man dans le forum Services Web
    Réponses: 5
    Dernier message: 25/02/2011, 19h29
  2. Endpoint WCF dans un UserControl WPF
    Par roxytbl dans le forum Développement Windows
    Réponses: 7
    Dernier message: 27/12/2010, 02h18
  3. Problème d'endpoint pour la consomation d'un service WCF
    Par johnjohn26 dans le forum Windows Communication Foundation
    Réponses: 6
    Dernier message: 11/05/2010, 11h15
  4. wcf endpoint internet!
    Par damii1 dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 15/10/2009, 12h04
  5. Accès aux services WCF sans paramétrage des adresses dans les endpoint
    Par eric39 dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 25/03/2009, 11h16

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