Bonjour,

Bon je reviens à la charge concernant les WCF de mer....

J'ai fait une application selon le tuto suivant:

http://www.wcftutorial.net/WCF-IIS-Hosting.aspx

Le problème est que lorsque je fait "Afficher dans le navigateur" sur le Service.svc

j'ai le message suivant:

Il s'agit d'un service Windows© Communication Foundation.

La publication des métadonnées pour ce service est actuellement désactivée.

Si vous avez accès au service, vous pouvez activer la publication des métadonnées en exécutant les étapes suivantes pour modifier votre fichier de configuration Web ou d'application :

1. Créez la configuration de comportement de service suivante ou ajoutez l'élément <serviceMetadata> à une configuration de comportement de service existante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<behaviors>
    <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors" >
            <serviceMetadata httpGetEnabled="true" />
        </behavior>
    </serviceBehaviors>
</behaviors>
2. Ajoutez la configuration du comportement au service :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<service name="MyNamespace.MyServiceType" behaviorConfiguration="MyServiceTypeBehaviors" >
Remarque : le nom du service doit correspondre au nom de configuration pour l'implémentation du service.

3. Ajoutez le point de terminaison suivant à la configuration de votre service :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
Remarque : Votre service doit posséder une adresse de base http pour ajouter ce point de terminaison.

L'exemple suivant est un fichier de configuration de service où la publication des métadonnées est activée :

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
<configuration>
    <system.serviceModel>
 
        <services>
            <!-- Remarque : le nom du service doit correspondre au nom de configuration pour l'implémentation du service. -->
            <service name="MyNamespace.MyServiceType" behaviorConfiguration="MyServiceTypeBehaviors" >
                <!-- Ajoutez le point de terminaison suivant.  -->
                <!-- Remarque : votre service doit posséder une adresse de base http pour ajouter ce point de terminaison. -->
                <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
            </service>
        </services>
 
        <behaviors>
            <serviceBehaviors>
                <behavior name="MyServiceTypeBehaviors" >
                    <!-- Ajoutez l'élément suivant à la configuration du comportement de votre service. -->
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
 
    </system.serviceModel>
</configuration>
Pour plus d'informations sur la publication des métadonnées, voir la documentation suivante : http://go.microsoft.com/fwlink/?LinkId=65455 (éventuellement en anglais).
Le problème c'est que dans mon fichier Web.config j'ai bien true pour les metas data:

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
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="utf-8"?>
<configuration>
 
  <system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
    <pages>
      <namespaces>
        <add namespace="System.Runtime.Serialization" />
        <add namespace="System.ServiceModel" />
        <add namespace="System.ServiceModel.Web" />
      </namespaces>
    </pages>
  </system.web>
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="ServiceBehavior" name="Service">
        <endpoint address="http://localhost/IISHostedService/MyService.svc"
        binding="wsHttpBinding" contract="IServiceChat">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
 
  <system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
 
</configuration>
De plus si je fait afficher dans le navigateur sur le site web j'ai le message d'erreur suivant:

Le site Web a refusé d’afficher cette page Web
HTTP 403
Causes les plus probables :
•Ce site Web requiert que vous vous connectiez.

Essayez la chose suivante :
Aller à la page précédente.

Informations

Cette erreur (HTTP 403 Refusé) signifie qu’Internet Explorer a réussi à se connecter au site Web, mais qu’il n’est pas autorisé à afficher la page Web.

Pour plus d’informations sur les erreurs HTTP, consultez l’aide.
Et ben là je comprends plus rien !

Ah mon bon vieux VB6 !!!

Merci.