Salve a tutti sto letteralmente impazzendo... non riesco a interrogare questo web service

http://dev.vagabondtours.com/team/dr...rver1.php?WSDL

aggiungendo il web reference non mi genera il file .disco e quindi non riesco a connettermi al servizio.

Se provo con la classe HttpWebRequest succede una cosa strana...

se chiudo la Stream della richiesta il server remoto risponde "Errore 500" mentre se la tengo aperta si freeza non da errore ma non succede nulla.

Di seguito il codice per la richiesta Http:

codice:
Dim xmlfile As String = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ns1=""https://dev.vagabondtours.com/team/dream/soap"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:SOAP-ENC=""http://schemas.xmlsoap.org/soap/encoding/"" SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"">" & vbCrLf
        xmlfile &= "<SOAP-ENV:Body>" & vbCrLf
        xmlfile &= "<ns1:ListCities>" & vbCrLf
        xmlfile &= "<UserName xsi:type=""xsd:string"">XMLPROMOVAC</UserName>" & vbCrLf
        xmlfile &= "<PassWord xsi:type=""xsd:string"">testuser321</PassWord>" & vbCrLf
        xmlfile &= "</ns1:ListCities>" & vbCrLf
        xmlfile &= "</SOAP-ENV:Body>" & vbCrLf
        xmlfile &= "</SOAP-ENV:Envelope>"
        Dim doc As XmlDocument = New XmlDocument()
        doc.LoadXml(xmlfile)
        'test
        Dim req As HttpWebRequest = CType(HttpWebRequest.Create("http://dev.vagabondtours.com/team/dream/soap/server1.php"), HttpWebRequest)
        req.ContentType = "text/xml; charset=utf-8"
        req.ProtocolVersion = HttpVersion.Version11
        req.Headers.Add("SOAPAction", "https://dev.vagabondtours.com/team/dream/soap")
        req.Accept = "text/xml"
        req.Method = "POST"
        
        Dim stm As Stream = req.GetRequestStream()
        doc.Save(stm)

        stm.Close() ' se lo metto qui il server da errore 500

        Dim resp As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)
        stm = resp.GetResponseStream()
        Dim r As StreamReader = New StreamReader(stm)
        
        'stm.Close() ' se lo metto qui si freeza tutto

        Dim docresp As XmlDocument = New XmlDocument
        docresp.LoadXml(r.ReadToEnd())
cosa cavolo sbaglio??