2013-06-10 28 views
11

Używam usługi sieci Web przy użyciu WSDL w aplikacji systemu Windows. Kiedy próbuję użyć metody, pojawia się następujący błąd: -Jak przekazywać dane uwierzytelniające użytkownika do usługi sieciowej?

The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was '"

{"The remote server returned an error: (401) Unauthorized."}

mam poświadczenia użytkownika, ale nie wiem jak przekazać go za pomocą kodu C# w aplikacji Windows.

+0

Jak czy zużywasz swoją usługę internetową? WCF? – Jay

+0

wiązanie wsdlsoap ... chyba. Czytam to z pliku wsdl.xml. Lub masz na myśli, jakiego rodzaju aplikacji używam do korzystania z usługi internetowej, a następnie jej aplikacji systemu Windows. – user1327064

Odpowiedz

12

Oto jak to działa na mnie: -

ustawienie plik konfiguracyjny wygląda następująco: -

<configuration> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
      <binding name="bindingName" > 
       <security mode="TransportCredentialOnly"> 
       <transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/> 
       <message clientCredentialType="UserName" algorithmSuite="Default"/> 
       </security> 
      </binding> 

      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://10.10.10.10:1880/testpad/services/Testwebservice" 
       binding="basicHttpBinding" bindingConfiguration="bindingName" 
       contract=testService.GetData" name="test_Port1" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

i oto jestem przechodzącej poświadczenia użytkownika: -

var ser = new GetDataClient(); 
ser.ClientCredentials.UserName.UserName = "userid"; 
ser.ClientCredentials.UserName.Password = "Pa$$word1"; 
-1

Możesz próbować tworzyć generyzację swojego klienta proxy usługi przy użyciu metody wspomnianej pod numerem here. Po utworzeniu instancji klienta proxy WCF będzie ona miała właściwość ClientCreditials, którą można wypełnić w razie potrzeby. Mam nadzieję, że to pomoże.

Powiązane problemy