Ich habe eine ASP.NET-Anwendung entwickelt, die einen WCF-Dienst enthält. Dieser Dienst muss von Anwendungen von Drittanbietern genutzt werden. Dieser Dienst hat beim Testen in meiner Entwicklungsumgebung gut funktioniert. Meine Entwicklungsumgebung verwendet IIS 7.0 unter Windows 7 RC 1. Ich kann den Dienst jedoch nicht verwenden, sobald er sich in meiner Staging-/Produktionsumgebung befindet. Bei meiner Staging-/Produktionsumgebung handelt es sich um eine Windows Server 2003, IIS 6-Umgebung.
Wenn ich versuche, den Dienst zu referenzieren, wenn er sich in der IIS 6-Umgebung befindet, erhalte ich einen Fehler, der besagt
Fehler: Metadaten können nicht abgerufen werden ...
Interessant ist, dass ich in meinen Test- und Produktionsumgebungen einen feinen, aber meiner Meinung nach wichtigen Unterschied festgestellt habe.
In meiner Testumgebung habe ich festgestellt, dass ich die Service-Seite über eine URL mit der folgenden Vorlage aufrufen kann:
http://localhost/MyApp/services/myService.svc
Ich habe auch festgestellt, dass ich in meiner Testumgebung die WSDL-Informationen sehen kann, wenn ich eine URL mit der folgenden Vorlage aufrufe:
http://localhost/MyApp/services/myService.svc?wsdl
In meiner Staging-/Produktionsumgebung kann ich die WSDL-Informationen jedoch nicht sehen. Seltsamerweise kann ich aber die Service-Seite sehen.
Hier sind die Konfigurationseinstellungen für meine Dienste in meiner Produktionsumgebung.
<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>
Warum kann ich in der Windows Server 2003 IIS 6.0-Umgebung zwar die Service-Seite, nicht aber die WSDL-Seite sehen?
Ich danke Ihnen!