Nous sommes vraiment coincés ici, alors j'ai décidé de demander votre aide.Authentification de demande de service Web
Hier on m'a demandé d'aider à consommer un service Web, a l'URL du WSDL, et les informations d'identification utilisateur à utiliser. Je n'ai jamais vraiment eu affaire à des services web, mais ayant une idée générale à leur sujet et voyant quelques exemples, je pensais que ça ne pouvait pas être si mauvais. Évidemment, j'avais tort car je suis coincé maintenant.
Tout semble bien, la classe proxy (ou client) a été généré, la construction de demandes et de les envoyer sont bien aussi, en dehors de la partie d'authentification. Lequel nous ne pouvons pas sembler comprendre comment faire.
Utilisation du:
client.ChannelFactory.Credentials.UserName.UserName = "myusername";
client.ChannelFactory.Credentials.UserName.Password = "mypassword";
ne semble pas fonctionner. (Quand je vérifie le BindingElementCollection returbed par le client. Endpoint.Binding.CreateBindingElements() il n'y a aucun SecurityBindingElement)
J'ai essayé tant d'autres manières de le faire, mais je pense que je manque quelque chose de basique et le manque de documentaion n'aide pas vraiment non plus.
La question est: Comment puis-je envoyer le nom d'utilisateur et mot de passe lors d'un appel à un service Web, en utilisant WCF?
Edit: Juste pour clarifier les choses, la demande doit contenir quelque chose de similaire à ceci:
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-25763165">
<wsse:Username>username</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">1DiaGTkOLk/CZhDaEpbkAaKRfGw=</wsse:Password>
<wsse:Nonce>6ApOnLn5Aq9KSH46pzzcZA==</wsse:Nonce>
<wsu:Created>2009-05-13T18:59:23.309Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
Cheers, j'aimerais le savoir il y a deux ans :) –