Bonjour,
je débute dans les services web et j'ai le message d'erreur suivant :
J'ai un peu regardé sur le net et je n'ai pas trouvé grand chose qui pourrait m'aider.The request failed with HTTP status 404: Not Found
Je lance 2 Visual Studio 2010, l'un avec mon service web démarré en F11 et l'autre mon application client.
Parfois, tout fonctionne correctement et j'ai bien mes points d'arrêts fonctionnels dans mon service web, et parfois (le plus souvent) cela ne fonctionne pas du tout et le client bloque avec le message d'erreur cité plus haut.
Mon service web sert à faire du transfert de fichier.
Voici le code côté serveur :
Voici le code côté client :
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 [WebMethod()] public void UploadProgram(program prog, byte[] buffer) { cDB.UploadProgram(prog, buffer); } //*************************************************************************************************** public void UploadProgram(program prog, byte[] buffer) { MemoryStream memFile = new MemoryStream(buffer); string sqlInsert = "INSERT INTO Program (Code, Name, Version, RegionalConcept, BlobZip) " + "Values (@Code, @Name, @Version, @RegionalConcept, @BlobZip)"; SqlCommand insertCommand = new SqlCommand(sqlInsert, cnn); insertCommand.Parameters.Add(new SqlParameter("@Code", SqlDbType.Char,30)).Value = prog.Code; insertCommand.Parameters.Add(new SqlParameter("@Name", SqlDbType.Char,100)).Value = prog.Name; insertCommand.Parameters.Add(new SqlParameter("@Version", SqlDbType.Char,10)).Value = prog.Version; insertCommand.Parameters.Add(new SqlParameter("@RegionalConcept", SqlDbType.Int)).Value = prog.RegionalCode; insertCommand.Parameters.Add(new SqlParameter("@BlobZip", SqlDbType.VarBinary)).Value = prog.BlobZip; insertCommand.ExecuteNonQuery(); }
Si l'un d'entre vous à une idée de comment résoudre le problème, je suis preneur.
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
36
37
38
39
40 private void button1_Click(object sender, EventArgs e) { openFileDialog.Multiselect = true; openFileDialog.ShowDialog(); MonServiceWeb.DataManagement monWS = new MonServiceWeb.DataManagement(); try { XmlDocument doc = new XmlDocument(); foreach (string fileName in openFileDialog.FileNames) { MonServiceWeb.program prog = new MonServiceWeb.program(); doc.Load(fileName); XmlNode userNode = doc.SelectSingleNode("//updates/update/name"); prog.Code = userNode.InnerText.Replace("series:", ""); userNode = doc.SelectSingleNode("//updates/update/description"); prog.Name = userNode.InnerText; userNode = doc.SelectSingleNode("//updates/update/version"); prog.Version = userNode.InnerText; prog.RegionalCode = 1; userNode = doc.SelectSingleNode("//updates/update/filename"); string filePath = fileName.Replace(Path.GetFileName(fileName), userNode.InnerText); prog.BlobZip = File.ReadAllBytes(filePath); monWS.UploadProgram(prog, prog.BlobZip); } } finally { monWS.Dispose(); } }
Edit : Petit point important à préciser! Etrangement, c'est sur la dernière partie du code client que le programme bloque :La création du WebService se passe sans problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part monWS.UploadProgram(prog, prog.BlobZip);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MonServiceWeb.DataManagement monWS = new MonServiceWeb.DataManagement(); MonServiceWeb.program prog = new MonServiceWeb.program();
Partager