Hola,
Tengo el código funcionando, pero no estoy 100% seguro de si debería de calcularlo así.
Os pongo el código, asi si veis algun error o algo que podría mejorar... os lo agradeceré mucho.
Dim URL As String = "https://myurl.asmx"
'Asi leemos un xml
Dim reader = System.Xml.XmlReader.Create("E:\XX\ProgX\XML\Test.xml")
reader.MoveToContent()
Dim inputxml = XDocument.ReadFrom(reader)
'Content-Length
Dim myByte As Byte() = System.Text.Encoding.UTF8.GetBytes(inputxml.ToString)
Dim oString As StringContent = New StringContent(inputxml.ToString, System.Text.Encoding.UTF8, "text/xml")
Dim http As New HttpClient
http.DefaultRequestHeaders.Add("Content.Length", myByte.Length)
http.DefaultRequestHeaders.Add("Host", "serv.xx.eu")
'Lo mandamos como TLS 1.2
ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
'Le decimos que no verifique el contenido del certificado
ServicePointManager.ServerCertificateValidationCallback = Function(s As Object, certificate As X509Certificate, chain As X509Chain, sslPolicyErrors As SslPolicyErrors) True
Dim response As HttpResponseMessage = http.PostAsync(URL, oString).Result
Dim res As String = response.Content.ReadAsStringAsync.Result
MsgBox(response.StatusCode) 'Devuelve el código
Form1.TextBox1.Text = res.ToString 'Devuelve el XML