Как установить версию SOAP с помощью HttpWebRequest - PullRequest
0 голосов
/ 31 мая 2019

Я получаю "(415) Unsupported Media Type" при попытке отправить следующий WSDL:

Dim xml1 As String = String.Empty
xml1 = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" "
xml1 += "xmlns:ser=""http://client_server.com/"">"
xml1 += "<soapenv:Header/>"
xml1 += "<soapenv:Body>"
xml1 += "XML_CONTENT"
xml1 += "</soapenv:Body>"
xml1 += "</soapenv:Envelope>"
'----------------------------
Dim a As New System.Text.ASCIIEncoding()
Dim buffer As Byte() = a.GetBytes(xml1)
Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://server.com?wsdl"), HttpWebRequest)
request.ServicePoint.Expect100Continue = False
request.KeepAlive = False
request.Headers.Add("SOAPAction", "")
request.Method = "POST"
request.ContentType = "application/soap+xml; charset=""UTF-8"""
request.Accept = "text/xml"
Dim stm As Stream = request.GetRequestStream()
stm.Write(buffer, 0, buffer.Length)
stm.Close()
Dim resp As WebResponse = request.GetResponse()
stm = resp.GetResponseStream()

Исходя из того, что я понимаю, причина исключения заключается в том, что сервер использует версию SOAP ("1.1"), отличную от той, которая была в моем запросе (я думаю, "1.2"). Как мне установить версию SOAP? Или есть другой способ решить эту ошибку «Неподдерживаемый тип носителя»?

1 Ответ

0 голосов
/ 31 мая 2019

Он работал путем удаления строки, в которой я заполнял свойство «ContentType» («request.ContentType =» application / soap + xml; charset = UTF-8 «»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...