[VB.NET] Pourquoi ai-je une erreur avec GetResponse ?
Salut à tous,
Voici mon pb, j'essayé de poster une requete à un service Web en HTTP. Tout se passe bien pour l'appel, mais lorsque je demande la réponse, j'ai une erreur : "Le serveur distant a retourné une erreur : (500) Erreur interne du serveur" ça me fait une belle jambe, non ?!
Voici le code qui l'appel le webservice
Code:
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 41 42 43 44 45 46 47 48 49 50
| Dim mgWebRequest As HttpWebRequest
Dim stringPost, stringResult As String
Dim mgStreamWriter As StreamWriter
Dim mgWebResponse As HttpWebResponse
Dim mgStreamReader As StreamReader
Dim m_xmld2 As New XmlDocument()
Try
mgWebRequest = CType(WebRequest.Create("https://...ReportService.asmx"), HttpWebRequest)
mgWebRequest.Method = "POST"
stringPost = "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
"<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">" & _
"<soap:Header>" & _
"<AdvertiserCredential xmlns=""http://.../1.0"">" & _
"<Username>testaccount35</Username> " & _
"<Password>yom4wv5g</Password> " & _
"</AdvertiserCredential>" & _
"<PartnerCredential xmlns=""http://.../1.0"">" & _
"<Username>ibase</Username>" & _
"<Password>gh_tflfd</Password>" & _
"</PartnerCredential>" & _
"</soap:Header>" & _
"<soap:Body>" & _
"<RequestReport xmlns=""http://.../1.0"">" & _
"<request xsi:type=""ActivityOverviewReport"">" & _
"<StartDate>2006-04-29T10:21:44.4467600+01:00</StartDate>" & _
"<EndDate>2006-04-29T10:21:44.4467600+01:00</EndDate>" & _
"</request>" & _
"</RequestReport>" & _
"</soap:Body>" & _
"</soap:Envelope>"
stringPost = HttpUtility.UrlEncode(stringPost)
mgWebRequest.ContentLength = stringPost.Length
mgWebRequest.ContentType = "application/x-www-form-urlencoded"
mgStreamWriter = New StreamWriter(mgWebRequest.GetRequestStream())
mgStreamWriter.Write(stringPost)
mgStreamWriter.Flush()
mgStreamWriter.Close()
mgWebResponse = CType(mgWebRequest.GetResponse(), HttpWebResponse)
mgStreamReader = New StreamReader(mgWebResponse.GetResponseStream())
stringResult = mgStreamReader.ReadToEnd()
mgStreamReader.Close()
m_xmld2.LoadXml(stringResult) |
Je passe par une requete HTTP pour éviter le emmerd.. avec les formats de date. Le web service Utilise la norme internotional (yyy-mm-jj) avec que VS utilise la norm US (mm-jj-yyyy).
donc au secours !!!!!!
Arnaud B.