Ugh, je reçois toujours une exception ProtocolViolationException "Les octets à écrire dans le flux dépassent la taille d'octets Content-Length spécifiée." sur le code suivant.Vb.Net - Octets écrits dépassent les octets Content-Length dans le message XML
J'ai essayé de définir Content-Length de nombreuses façons sans succès.
Dim url = "https://domain.com"
Dim req As WebRequest = WebRequest.Create(url)
req.Method = "POST"
req.ContentType = "application/xml"
Dim utf8 As New UTF8Encoding()
req.ContentLength = utf8.GetByteCount(xml.OuterXml)
xml.Save(req.GetRequestStream()) // throws the exception
req.GetRequestStream().Close()
Dim httpResp As WebResponse = req.GetResponse()
Dim stReader As StreamReader = New StreamReader(httpResp.GetResponseStream())
Dim strResponse As String
strResponse = stReader.ReadToEnd()
Console.WriteLine(strResponse)
J'ai essayé le réglage de la longueur de contenu à l'aide xml.OutXML.Length
Que se passe-t-il si vous omettez line: req.ContentLength = utf8.GetByteCount (xml.OuterXml)? – CarneyCode
L'API nécessite que j'envoie un en-tête Content-Length valide. – doremi
Possible duplicate: http://stackoverflow.com/questions/5048753/how-to-post-xml-document-to-http-with-vb-net – Anuraj