2009-08-04 8 views
3

J'ai développé une application ASP.NET qui inclut un service WCF. Ce service doit être utilisé par des applications tierces. Ce service a bien fonctionné lors des tests dans mon environnement de développement. Mon environnement de développement utilise IIS 7.0 sur Windows 7 RC 1. Toutefois, je ne peux pas utiliser le service une fois qu'il est dans mon environnement de transfert/production. Mon environnement de mise en production/production est un environnement Windows Server 2003, IIS 6.WCF et IIS 6 - WSDL n'est pas exposé

Lorsque je tente de faire référence au service quand il est dans l'environnement IIS 6, je reçois une erreur qui dit:

Erreur: Impossible d'obtenir les métadonnées ...

Intéressant, je remarquai une subtile , mais je crois important, différence dans mon test d'un environnement de mise en scène/production.

Dans mon environnement de test, je remarquais que je peux accéder à la page de service via une URL avec le modèle suivant:

http://localhost/MyApp/services/myService.svc

J'ai aussi remarqué que dans mon environnement de test, je peux voir les informations WSDL si je visite une URL avec le modèle suivant:

http://localhost/MyApp/services/myService.svc?wsdl

Cependant, dans mon environnement mise en scène/production, je ne peux pas voir les informations WSDL. Assez curieusement, je peux voir la page de service cependant.

Voici les paramètres de configuration liés à mes services dans mon environnement de production.

<system.serviceModel> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="myServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
    <services> 
    <service behaviorConfiguration="myServiceBehavior" name="myService"> 
     <endpoint address="" binding="basicHttpBinding" contract="myService" /> 
     <endpoint address="mex" binding="mexHttpBinding" 
     contract="IMetadataExchange" /> 
    </service> 
    </services> 
</system.serviceModel> 

Pourquoi devrais-je être en mesure de voir la page de service, mais pas la page WSDL dans Windows Server 2003 IIS 6.0 environnement?

Merci!

+0

Parlé à offline Tchad, et il m'assure qu'il n'y a pas de chipmunks. Je retiens mon jugement en attendant l'arrivée des détails de la configuration. –

+0

En aparté, je pensais que j'étais original, mais je suppose que non: http://stackoverflow.com/search?q=chipmunks. –

+0

Les détails de configuration sont maintenant fournis dans le corps de la question. Merci d'avoir pris un pic. –

Répondre

2

Avez-vous activé l'échange de métadonnées?

<serviceMetadata httpGetEnabled = "true"/> 

Avez-vous défini le point de terminaison d'échange de métadonnées

<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" 
     name="mexendpoint" contract="IMetadataExchange" />