2011-06-27 10 views
0

IIS 7でホストされているRESTful WCFサービスがあります。httpとhttpsの両方でサービスを利用できます。 、単一の契約作業を実装するすべてのサービスだけでなく//service.abc.comIIS 7でホストされているWCFサービスのServiceActivationException

://service.abc.com
ます。https:だから我々は、サービスのホストベースのための2つのバインディング
HTTPを追加しました契約を実装するサービスの場合、System.ServiceModel.ServiceActivationExceptionを取得します。

httpまたはhttpsのいずれかがすべて正常に機能します。

サービス設定 -

<services> 
<service behaviorConfiguration="RESTServiceBehavior" name="App.Services.Service1"> 
    <endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" contract="App.Contract.Services.IService1"       bindingConfiguration="RESTServiceBinding"></endpoint> 
</service> 
</services> 

<behaviors> 
<endpointBehaviors> 
    <behavior name="webBehavior"> 
     <webHttp/> 
     <restGlobalErrorHandler/> 
    </behavior> 
</endpointBehaviors> 

<serviceBehaviors> 
    <behavior name="RESTServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
     <serviceAuthorization serviceAuthorizationManagerType="App.Services.AuthorizationManager, App.Services" /> 
    </behavior> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
</serviceBehaviors> 
</behaviors> 

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/> 

<bindings> 
<webHttpBinding> 
    <binding name="RESTServiceBinding"> 
     <security mode="Transport"> 
     </security> 
    </binding> 
</webHttpBinding> 
</bindings> 
+1

私は、エラーのメッセージを投稿せずに人々がなぜエラーについて質問するのか、まだ分かりません。また、サービスを構成する方法の詳細についても説明する必要があります。 –

答えて

0

私は、WCFに新しいですが、私はあなたのサービスには、いくつかの契約を持っているならば、あなたは、各契約の参照を追加する必要があることStackOverflowの上でそれを読みました。 4つの契約がある場合は、4つのサービス参照を作成する必要があります。

+0

いいえ。まだ単一参照を追加していますが、4つのプロキシを取得します。 –

0

サービスに公開する契約ごとに2つのエンドポイントが必要です。 HTTPの1つのエンドポイントとHTTPSの2番目のエンドポイントがあります。

<service behaviorConfiguration="RESTServiceBehavior" name="App.Services.Service1"> 
    <endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" 
       bindingConfiguration="RESTServiceBinding" contract="App.Contract.Services.IService1" /> 
    <endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" 
       contract="App.Contract.Services.IService1" /> 
</service> 
関連する問題