Czy uwierzytelnianie podstawowe skonfigurowany w pliku konfiguracyjnym? Czy musisz przekazywać tylko dane uwierzytelniające, czy też potrzebujesz bezpiecznego transportu (HTTPS)?
Najpierw trzeba skonfigurować wiązanie do wspierania uwierzytelniania podstawowego
Ustawienia HTTP oprawa:
<bindings>
<basicHttpBinding>
<binding name="BasicAuth">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
konfiguracji dla HTTPS wiążących:
<bindings>
<basicHttpBinding>
<binding name="BasicAuthSecured">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
końcowy klient musi użyć zdefiniowaną konfigurację na przykład:
<client>
<endpoint address="..."
name="..."
binding="basicHttpBinding"
bindingConfiguration="BasicAuth"
contract="..." />
</client>
Następnie trzeba przejść do poświadczenia pełnomocnika:
proxy = new MyServiceClient();
proxy.ClientCredentials.UserName.UserName = "...";
proxy.ClientCredentials.UserName.Password = "...";
Pytanie specjalnie prosi o (HTTP) Basic Authentication. Twoje połączone odniesienie demonstruje tylko WSHttpBinding. WSHttpBinding używa poświadczeń użytkownika + hasło w bloku autorskim nagłówka koperty SOAP, co nie jest tym samym, co (HTTP) podstawowym uwierzytelnieniem. – AlwaysLearning