Я отправляю запрос на внешний API из моего приложения, используя HttpWebRequest и HttpWebResponse.
Всякий раз, когда в запросе XML возникает ошибка из-за неправильных значений, переданных в узлах XML, возникает ответ об ошибке 400 Bad request и сообщение об ошибке «В документе XML есть ошибка (51, 14)». Проблема заключается в том, что в XML-запросе возникает ошибка, в XML-ответе должно отображаться сообщение об ошибке с правильным номером строки. но я получаю сообщение об ошибке с неправильным номером строки, и это всегда «Ошибка в XML-документе (1, 1254)». На самом деле в строке 1 ошибки нет. Из-за этой проблемы у меня нет шансов указать на ошибку при устранении неполадок.
Можете ли вы помочь, как получить ответ с правильным номером строки в XML.
Ниже приведен мой существующий код в vb для отправки запроса в API.
Dim Wreq As HttpWebRequest
Dim MyURI As String = String.Empty
Dim bytes() As Byte
Try
MyURI = p_strURL
Wreq = HttpWebRequest.Create(MyURI)
Wreq.Method = "POST"
bytes = System.Text.Encoding.UTF8.GetBytes(pi_strRequestXML)
Wreq.ContentLength = bytes.Length 'pi_strRequestXML.Length
Wreq.ContentType = "application/x-www-form-urlencoded"
Wreq.KeepAlive = False
Wreq.Headers.Add("Authorization", "bearer" + " " + strAccessToken)
Using OutputStream As StreamWriter = New StreamWriter(Wreq.GetRequestStream())
OutputStream.Write(pi_strRequestXML)
End Using
Using Wres As HttpWebResponse = Wreq.GetResponse()
Using loResponseStream As StreamReader = New StreamReader(Wres.GetResponseStream())
oResponse = loResponseStream.ReadToEnd()
End Using
End Using
Return oResponse
Catch e As WebException
Throw
Catch objSysEx As Exception
Throw
Finally
End Try
Спасибо