未提供用户名。在ClientCredentials中指定用户名

时间:2014-02-24 09:06:12

标签: c# asp.net web-services wcf c#-4.0

我使用客户端凭据创建WCF应用程序。它在内部正常工作,而我从其他项目中调用并调用此服务意味着我收到了错误消息。

The username is not provided. Specify username in ClientCredentials.

请帮我解决这个问题。

<bindings>
  <wsHttpBinding>
 <binding name="WSHttpBinding_IWcfService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="TransportWithMessageCredential">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" negotiateServiceCredential="true"
                        algorithmSuite="Default" />
                </security>
            </binding>
  </wsHttpBinding>
</bindings>
<client>
 <endpoint address="https://wcfauthtest.sbs.in:448/WcfService.svc/WcfService.svc"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWcfService"
                contract="AuthTest.IWcfService" name="WSHttpBinding_IWcfService">
                <identity>
                    <dns value="localhost" />
                </identity>
 </endpoint>
</client>

任何帮助?

1 个答案:

答案 0 :(得分:4)

您是否在客户端/消费者端指定了凭据:

WcfService.UserName.UserName = "user";
WcfService.UserName.Password = "pass";

在代码中调用WCF服务之前,您应该提供这些凭据。