Bonjour,
je ne suis pas expert C#, je bosse essentiellement avec Delphi, PHP et Android
je teste sous Visual Studio Express 2012 avec une application console en .Net Framework 4.5
voilà pour le contexte.
J'ai donc un WS PHP que je peux importer par un "Ajouter une référence de service..."
le problème c'est que ce serveur réclame une authentification (section Security dans la requête SOAP) et là je n'en ai pas.
si j'ajoute un service.Credentials = new System.Net.NetworkCredential("user", "pass"); ça ne semble pas modifier la requête SOAP...je suppose que c'est alors une authentification HTTP.
j'ai trouvé une solution sur cette page:
1- j'importe le service avec wsdl.exe
2- je remplace la classe ancêtre (après avoir galéré pour intégrer Microsoft.Web.Service2)
3- j'utilise le code
et ça fonctionne très bien SAUF que si dans mon serveur PHP je lance un throw new SoapFault('XXX', 'YYY'), le client ne bronche pas alors qu'avec le service importé j'ai bien une exception levée.
or donc ma question est double mais une seule des deux solutions me suffirait
comment intégrer une entête "<s:Header><s:Security><UsernameToken><UserName>XXX</UserName><Password>XXX</Password>..." dans la requête de service importé ?
pourquoi mon client proxy ne lève-t-il pas les exceptions du serveur ?
Merci
Partager