2009-08-04 17 views
3

WCFサービスを含むASP.NETアプリケーションを開発しました。このサービスは、第三者のアプリケーションによって消費される必要があります。このサービスは、開発環境でのテスト中にうまく機能しています。私の開発環境では、Window 7 RC 1でIIS 7.0を使用しています。ただし、ステージング/プロダクション環境に入ったらサービスを使用することはできません。私のステージング/運用環境は、Windows Server 2003、IIS 6環境です。WCFとIIS 6 - WSDLが公開されていません

私はそれがIIS 6環境にあるときにサービスを参照しようとすると、私が言うエラーが表示さ:

エラー:メタデータ を得ることができない...

興味深い、私は微妙に気づきました私はステージング/プロダクション環境のテストで重要な違いがあると考えています。私のテスト環境では

、私は、以下のテンプレートを使用してURLを介してサービスページにアクセスできることに気づい:

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

私も私のテスト環境では、私はWSDL情報を見ることができることに気づきました私は、以下のテンプレートを使用してURLを訪問した場合:

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

しかし、私のステージング/運用環境では、私は、WSDL情報を見ることができません。奇妙なことに、私はサービスのページを見ることができます。

実稼働環境での私のサービスに関連する構成設定を次に示します。

<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> 

Windows Server 2003 IIS 6.0環境でサービスページは表示できますが、WSDLページは表示できないのはなぜですか?

ありがとうございました!

+0

、彼はチップマンクがないことを私に保証します。私は設定の詳細の到着を保留中です。 –

+0

さて、私はオリジナルであると思っていましたが、私はそう思わないと思います:http://stackoverflow.com/search?q=chipmunks。 –

+0

構成の詳細が質問本体に表示されるようになりました。ピークを頂きましてありがとうございます。 –

答えて

1

Shiraz's答えに追加するには、メタデータ交換エンドポイントを定義している、次のMSDNの記事は、合理的な詳細に公開するサービスメタデータをカバー:チャドオフラインに話した

Publishing Metadata Endpoints (MSDN Library)

2

メタデータの交換を有効にしましたか?

<serviceMetadata httpGetEnabled = "true"/> 

はあなたが

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