2011-02-08 6 views
1

WCFを使用して別のサーバーでWCFサービスを呼び出すときに、次のエラーが発生します。 HTTPチャネルを介してデータを送信しながらWCF AllowNTLM .net 3.5sp1とIIS7.5

エラー(リクエストがキャンセルされた) が発生しました。

以下のサービスが.net3にIIS7ボックスに働いたが、我々は最近、私はAllowNtlmはコンフィグ外の属性を削除すると、通話がさらに取得しますが、ない、IIS7.5および.NET 3.5sp1にアップグレードしましたパスしないで、サービスがデータベースにダブルホップを行うことを許可し、私はフォローエラーを取得します。

「NT AUTHORITY \ ANONYMOUS LOGON」です。

私はIIS7を使用して働いたクライアントのapp.configのコピーを同封しましたが、

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <system.serviceModel> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="Windows"> 
      <clientCredentials> 
      <windows allowNtlm="false" allowedImpersonationLevel="Delegation"/> 
      </clientCredentials> 
      <dataContractSerializer maxItemsInObjectGraph="4194304"></dataContractSerializer> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <bindings> 
     <basicHttpBinding> 
     <binding allowCookies="false" bypassProxyOnLocal="false" closeTimeout="00:01:00" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="4194304" maxReceivedMessageSize="4194304" messageEncoding="Text" name="BasicHttpBinding_CalculationWebService" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:10:00" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> 
      <readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192"></readerQuotas> 
      <security mode="TransportCredentialOnly"> 
      <message algorithmSuite="Default" clientCredentialType="UserName"></message> 
      <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""></transport> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://server1.domain/WebServices/CacheManagement/CacheBusinessService.svc" behaviorConfiguration="Windows" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_CacheWebService" contract="CacheWCFService.CacheWebService" name="BasicHttpBinding_CacheWebService"> 
     <identity> 
      <servicePrincipalName value="http/server1.domain"></servicePrincipalName> 
     </identity> 
     </endpoint> 
    </client> 
    </system.serviceModel> 
</configuration> 

これでサーバーConfigを、任意のアイデア?

<?xml version="1.0"?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service behaviorConfiguration="CacheManagementBehavior" name="Iris.WebServices.CacheManagement.CacheWebService"> 
     <endpoint address="" behaviorConfiguration="" binding="basicHttpBinding" 
     bindingConfiguration="basicHttpBinding_CacheManagement" contract="Iris.WebServices.CacheManagement.CacheWebService" /> 
     <endpoint address="mex" behaviorConfiguration="" binding="basicHttpBinding" 
     bindingConfiguration="basicHttpBinding_CacheManagement" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="basicHttpBinding_CacheManagement" maxReceivedMessageSize="4194304" receiveTimeout="00:30:00"> 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Windows"/> 
      <message clientCredentialType="UserName"/> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="CacheManagementBehavior"> 
      <dataContractSerializer maxItemsInObjectGraph="4194304" ignoreExtensionDataObject="True"/> 
      <serviceMetadata httpGetEnabled="True"/> 
      <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/> 
      <serviceAuthorization impersonateCallerForAllOperations="true"/> 
     </behavior>a 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 

答えて

1

我々が設定

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <system.serviceModel> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="Windows"> 
      <clientCredentials> 
      <windows allowNtlm="false" allowedImpersonationLevel="Delegation"/> 
      </clientCredentials> 
      <dataContractSerializer maxItemsInObjectGraph="4194304"></dataContractSerializer> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <bindings> 
     <basicHttpBinding> 
     <binding allowCookies="false" bypassProxyOnLocal="false" closeTimeout="00:01:00" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="4194304" maxReceivedMessageSize="4194304" messageEncoding="Text" name="BasicHttpBinding_CalculationWebService" openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:10:00" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> 
      <readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192"></readerQuotas> 
      <security mode="TransportCredentialOnly"> 
      <message algorithmSuite="Default" clientCredentialType="UserName"></message> 
      <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""></transport> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://server1.domain/WebServices/CacheManagement/CacheBusinessService.svc" behaviorConfiguration="Windows" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_CacheWebService" contract="CacheWCFService.CacheWebService" name="BasicHttpBinding_CacheWebService" /> 
    </client> 
    </system.serviceModel> 
</configuration> 
からServicePrincipleNameを除去することで、問題を解決するために管理
関連する問題