J'utilise un client de service WCF généré par slsvcutil à partir de la version 4 du toolkit Silverlight. J'ai également essayé la version 3 avec les mêmes problèmes. Lorsque j'utilise une instance client exécutée sur http sans informations d'identification utilisateur, elle s'exécute sans problème. Mais je dois passer à https pour les serveurs productifs et envoyer les informations d'identification de l'utilisateur qui sont codées en dur pour mon application. J'utilise le code suivant pour que:Utilisation du service WCF dans MonoTouch avec authentification
var binding = new BasicHttpBinding (BasicHttpSecurityMode.TransportCredentialOnly);
var endpoint = new EndpointAddress (AppSettings.FlareEndPoint);
_service = new TopicAnalystAPIClient(binding, endpoint);
_service.ClientCredentials.UserName.UserName = "xxx";
_service.ClientCredentials.UserName.Password = "xxx";
Quand j'appelle une méthode sur ce service à l'adresse http sans authentification cela fonctionne. Lorsque j'utilise ce code contre http/https avec les informations d'identification, j'obtiens «Une erreur s'est produite lors du traitement de la requête Web: Code d'état 401 (non autorisé): exception« non autorisée ». J'ai vérifié que les informations d'identification sont correctes, je suis en mesure d'ouvrir la référence de service dans mon navigateur. J'ai également essayé plusieurs combinaisons de valeurs http/https et SecurityMode. Je l'ai également essayé sur quatre serveurs différents avec toujours le même résultat.
Quel peut être le problème?
Voir ma question qui est liée: http://stackoverflow.com/questions/6667030/make-this-wcf-client-code-work-on-mono-and-monotouch- sur-le-mac – Krumelur