2013-06-10 1 views
11

Je consomme un service Web en utilisant WSDL dans l'application Windows. Lorsque je tente d'utiliser la méthode, j'obtenir l'erreur suivante: -Comment transmettre les informations d'identification de l'utilisateur au service Web?

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."}

J'ai informations d'identification utilisateur, mais ne savent pas comment le faire passer en utilisant le code C# dans l'application Windows.

+0

Comment consommez-vous votre service Web? WCF? – Jay

+0

wsdlsoap liaison ... je suppose. Je le lis du fichier wsdl.xml. Ou vous voulez dire quel type d'application j'utilise pour consommer le service Web, puis son application Windows. – user1327064

Répondre

12

Voici la façon dont il travaille pour moi: -

paramètre de fichier de configuration ressemble à ceci: -

<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> 

et ici je passe des informations d'identification de l'utilisateur: -

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

Vous pouvez essayer de générer votre proxy client de service en utilisant la méthode mentionnée here. Une fois que vous avez une instance de votre proxy client WCF, il aura une propriété ClientCreditials que vous pourrez remplir au besoin. J'espère que cela aide.

Questions connexes