posilani XML pomoci http VB6->VB.net 2010 Express   otázka

VB.NET, WCF/WS, XML, VB6/VBA

Dobry den, nepodarilo se mi ve VB6 dosahnout posilani XML(kodovani utf-8) souboru pomoci http, tak, aby jej adresat precetl (jedna se o azbuku). Proto jsem se rozhodl pro VB.NET, kde lze urcovat kodovani posilaneho retezce, ale server mi pise chybu 500:

VB6 funkcni(az na citelnost na adresatove strane):

Dim o As New xmlHttp

xmlContent() = fs.GetFileContent(Replace(Me.txtOutputFileName.Text, fs.GetFileNameByPath(Me.txtOutputFileName.Text), "") & xmlFileNames(i))

xmlString = MFunctions.GetString(xmlContent())

o.Open "POST", server, False, EE_XML_EXCHANGE_ID, EE_XML_EXCHANGE_PWD

o.setRequestHeader "Content-Type", "text/xml" ' "text/xml;charset=utf-8"

o.setRequestHeader "SOAPAction", ""

o.send xmlString

Me.txtResponseHeaders = o.getAllResponseHeaders

Me.txtResponse = o.responseText

VB.NET 2010 Express (chyba 500 - internal server error):

Dim xdoc As XDocument = XDocument.Load("z:\Operations\RU\_TEST\xml\send\RUWP121001_01_05_01.xml")

Dim request As WebRequest = WebRequest.Create("http://217.159.234.77:8080/epmx/services...")

request.Method = "POST"

Dim postData As String = xdoc.ToString

Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)

request.ContentType = "text/xml"

request.ContentLength = byteArray.Length

request.Credentials = New System.Net.NetworkCredential(EE_XML_EXCHANGE_ID, EE_XML_EXCHANGE_PWD)

Dim dataStream As Stream = request.GetRequestStream()

dataStream.Write(byteArray, 0, byteArray.Length)

dataStream.Close()

Dim response As WebResponse = request.GetResponse()

Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)

dataStream = response.GetResponseStream()

Dim reader As New StreamReader(dataStream)

Dim responseFromServer As String = reader.ReadToEnd()

Console.WriteLine(responseFromServer)

reader.Close()

dataStream.Close()

response.Close()

Predem diky za kazdou radu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyskusajte a upravte si tento kod:

Dim strPostURL = "http://www.google.com"

        AddText("URL TO POST: " + strPostURL)

        Dim requestStream As Stream = Nothing
        Dim fileStream As FileStream = Nothing
        Dim uploadResponse As Net.HttpWebResponse = Nothing

        Try

            Dim uploadRequest As Net.HttpWebRequest = CType(Net.HttpWebRequest.Create(strPostURL), Net.HttpWebRequest)
            uploadRequest.Method = Net.WebRequestMethods.Http.Post
            ' UploadFile is not supported through an Http proxy
            ' so we disable the proxy for this request.
            uploadRequest.Proxy = Nothing

            requestStream = uploadRequest.GetRequestStream()
            fileStream = File.Open("c:\temp\MyActions_Partial_Feed_Format.xml", FileMode.Open)

            Dim buffer(1024) As Byte
            Dim bytesRead As Integer
            While True
                bytesRead = fileStream.Read(buffer, 0, buffer.Length)
                If bytesRead = 0 Then
                    Exit While
                End If
                requestStream.Write(buffer, 0, bytesRead)
            End While

            ' The request stream must be closed before getting the response.
            requestStream.Close()

            uploadResponse = uploadRequest.GetResponse()
            Dim responseReader As StreamReader = New StreamReader(uploadRequest.GetResponse.GetResponseStream())
            Dim x As String = responseReader.ReadToEnd()
            responseReader.Close()
            AddText(x)



        Catch ex As UriFormatException
            AddText(ex.Message)
        Catch ex As IOException
            AddText(ex.Message)
        Catch ex As Net.WebException
            AddText(ex.Message)
        Finally
            If uploadResponse IsNot Nothing Then
                uploadResponse.Close()
            End If
            If fileStream IsNot Nothing Then
                fileStream.Close()
            End If
            If requestStream IsNot Nothing Then
                requestStream.Close()
            End If
        End Try
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback