2017-09-18 12 views
0

バインディングに問題があり、解決方法がわかりません。私は、サーバー側で午前クライアントは、この結合を使用している:名前空間「http://www.w3.org/2005/08/addressing」からヘッダ「アクション」を :私は私の設定ファイルにもこれを置くが、例外はまだ同じであるWCFバインディングの問題

<system.web> 
<compilation debug="true" targetFramework="4.5.2"/> 
<httpRuntime targetFramework="4.5.2"/> 
<httpModules> 
    <add name="ApplicationInsightsWebTracking" 
type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web"/> 
</httpModules> 
</system.web> 
<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

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

<bindings> 
    <customBinding> 
    <binding name="pciBinding" receiveTimeout="00:05:00" 
sendTimeout="00:05:00"> 
     <textMessageEncoding messageVersion="Soap11WSAddressing10" 
writeEncoding="utf-8" /> 
     <httpTransport maxReceivedMessageSize="67108864" /> 
    </binding> 
    </customBinding> 
</bindings> 

</system.serviceModel> 
<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="ApplicationInsightsWebTracking"/> 
    <add name="ApplicationInsightsWebTracking" 
type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web" 
    preCondition="managedHandler"/> 
</modules> 

<directoryBrowse enabled="true"/> 
<validation validateIntegratedModeConfiguration="false"/> 
</system.webServer> 

をこのメッセージの受信者が理解できないため、メッセージが処理されませんでした。このエラーは、通常、このメッセージの送信者が受信者が処理できない通信プロトコルを有効にしていることを示します。クライアントのバインディングの設定がサービスのバインドと一貫していることを確認してください。

これを動作させるには何が必要ですか?

+0

サーバー側とクライアント側の完全なwcf設定を表示してください。 – Rabban

+0

私はweb.configファイル全体を入れましたが、外部アプリケーションなので、クライアントのweb.configファイルを見る権限がありません。みんなから知っている唯一のことは、私はこのバインディングを使うべきだということです。 –

+0

通常、サーバはどのバインディングを使用すべきかを指示する必要があります^^私が見るように、エンドポイントはなく、バインディングと動作をバインドしています。この 'のようなエンドポイントを追加する必要があります。ビヘイビアにエンドポイントでバインドする名前を付けるために、この例では "myBehavior"と呼ばれています。 – Rabban

答えて

0

あなたの設定にエンドポイントを追加する必要があります。

<system.serviceModel> 
    <services> 
     <service> 
      <endpoint binding="customBinding" bindingConfiguration="pciBinding" name="MyEndpoint" behaviorConfiguration="myBehavior" contract="Your.Contract.Interface.With.Fullname" /> 
     </service> 
    </services> 
</system.serviceModel> 

、あなたは、この例では、それが「myBehavior」と呼ばれています、あなたの行動のエンドポイント上でそれをバインドする名前を与える必要があります。

関連する問題