2011-09-15 15 views
1

WCFクライアントのIDを正しく設定しようとしています。現在、実際に<servicePrincipalName/>の値を指定せずに、クライアント側のIDを<servicePrincipalName/>に設定しています。なぜWCFはClient-SideでservicePrincipalNameの値を空にするのですか?

私の質問は、これはどのように有効な構成ですか?私は正常にクライアントを使用することができますが、なぜ私は空の<servicePrincipalName/>を設定することができますWCFを理解していない。クライアント側の「WSHttpBinding_LargeData」構成は次のようになります

<endpoint address="http://w30-7wfjwh1/KDMSPartService/PartService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_LargeData"     
       contract="PartService.ICustomer" name="WSHttpBinding_ICustomer"> 
    <identity> 
     <servicePrincipalName/> 
    </identity> 
    </endpoint> 

クライアント側のエンドポイントは、次のようになります

<wsHttpBinding> 
    <binding name="WSHttpBinding_LargeData" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="99999999" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> 
     <readerQuotas maxDepth="128" maxStringContentLength="8192" maxArrayLength="163840000" maxBytesPerRead="4096" maxNameTableCharCount="16384"/> 
     <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/> 
     <security mode="Message"> 
     <transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/> 
     <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true"/> 
     </security> 
    </binding> 

サービスは、ドメインの下で実行されますユーザー名は「kdmsdev」です。サービスからエクスポートされたWSDLは、次のようになります。

<wsdl:port name="WSHttpBinding_ICustomer" binding="tns:WSHttpBinding_ICustomer"> 
    <soap12:address location="http://w30-7wfjwh1.internal.com/KDMSPartService/PartService.svc" /> 
    <wsa10:EndpointReference> 
    <wsa10:Address>http://w30-7wfjwh1.internal.com/KDMSPartService/PartService.svc</wsa10:Address> 
    <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"> 
     <Upn>[email protected]</Upn> 
    </Identity> 
    </wsa10:EndpointReference> 
</wsdl:port> 

より良いWCFは、クライアント側で<servicePrincipalName/>を使用しているかを理解するために、任意の助けいただければ幸いです。

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

答えて

0

私はWCFがあなたの設定を「私がドメインにいる限り相手が誰であるか気にしない」という意味にしていると思います。 Kerberosが使用されているときに要素を完全に省略することは、実際には変わりません。

私はそれが一致しない値を指定すると失敗すると思います。

+0

これを示す正式な文書は見つかりませんでしたが、あなたの回答は受け付けます。ありがとう。 – ChrisNel52

+0

ええ、私はそれをサポートするために何かを見つけることができませんが、私はこの動作を観察している。 –

関連する問題