Bonjour a toutes et a tous,
J'ai un serveur en PHP qui offre des webservices, et je souhaite faire un client en C# pour taper dedans. J'ai suivi le tuto sur la MSDN pour generer un proxy ("wsdl.exe /language:CS /n"TotoSpace" http://mamachine/fichier.wsdl").
Il m'a bien genere le fichier proxy, que j'ai ajoute comme nouvelle classe a un projet tres "vide" de type console.
J'ai mis des Write() a differents endroits du code pour savoir ce qui se passe, et je remarque que le programme ne repond plus lors de l'instanciation de ma classe de gestion (le code du constructeur n'est meme pas appele).
Je suppose donc que c'est un des parametres d'assembly ou un truc du genre qui est mauvais, mais je ne vois vraiment pas quoi... De meme, la machine serveur est bien atteignable, et il est possible de la requeter autrement.
Code Main
Extrait de la WSDL (redemander si vous voulez d'autres details, car elle fait 140k lignes...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 namespace TotoSpace { class Program { static void Main(string[] args) { Console.Write("Entering..."); Console.Write("Entering...2"); Console.Write("Entering...3"); TOTOService soapService = new TOTOService(); // Ne ressort jamais Console.Write("1..."); //soapService.Url = "http://machine/fichier.wsdl"; soapService.Credentials = System.Net.CredentialCache.DefaultCredentials; Console.Write("2..."); dns_server_list_in input = new dns_server_list_in(); Console.Write("3..."); dns_server_list_out[] outputArray; Console.Write("4..."); input.auth_login = "toto"; input.auth_password = "toto"; Console.Write("5..."); outputArray = soapService.dns_server_list(input); Console.Write("6..."); Console.Write("Sent command 'dns_server_list' !"); Console.Write("Result-------"); foreach (dns_server_list_out output in outputArray) { Console.Write("\t\tServer #" + output.dns_id + " // Name: " + output.dns_name + " // State: " + output.dns_state); } Console.Write("---- Finished. Press a key to end."); Console.ReadLine(); } } }
Quelqu'un pourrait m'indiquer une piste concernant le "freeze" du programme et de l'instanciation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 namespace TotoSpace { using System.Diagnostics; using System.Web.Services; using System.ComponentModel; using System.Web.Services.Protocols; using System; using System.Xml.Serialization; /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name = "LOLBinding", Namespace = "urn:LOL")] [System.Xml.Serialization.SoapIncludeAttribute(typeof(any_function_out))] [...] public partial class TOTOService : System.Web.Services.Protocols.SoapHttpClientProtocol { private System.Threading.SendOrPostCallback class_addOperationCompleted; [...] public TOTOService() { Console.Write("Je ne suis jamais affiche !"); this.Url = "http://machine/ws.php"; // l'adresse du serveur SOAP PHP } [...]
Merci d'avance !
Partager