webForumDet fria alternativet

XMLHTTPRequest i .NET?

.NETur .NET

12 svar · 302 visningar · startad av fredrik

fredrikMedlem sedan dec. 19991 072 inlägg
#1

Var i frameworket hittar jag funktionalitet som tidigare fanns i "MSXML.XMLHTTPRequest"?

Dvs. att hämta XML från en viss URL?

nikoMedlem sedan juni 20022 599 inlägg
#2

System.Web.HttpRequest resp. System.Web.HttpResponse

fredrikMedlem sedan dec. 19991 072 inlägg
#3

Tack för tipset! Slänger mig genast över det! :)

renholmMedlem sedan apr. 20012 266 inlägg
#4

Kika under System.Net.FileWebRequest och System.Net.HttpWebRequest, de classerna är rätt nyttiga.

fredrikMedlem sedan dec. 19991 072 inlägg
#5

Tack för tipsen...men det var inte helt självklart hur den används inte... (för mig iaf..)

Om jag vill skicka XML till en viss URL, för att sedan få tillbaka ett svar i XML, hur gör jag då?

GrynetMedlem sedan maj 2001329 inlägg
#6

Det låter lite som om du är ute efter SOAP? I .Net så är detta implementreat som WebService som skickar ut XML ifrån ett anrop.

Snabblänk till tutorialen
http://samples.gotdotnet.com/quickstart/aspplus/

GrynetMedlem sedan maj 2001329 inlägg
#7

Om du ska köra vidare på WebRequest spårekt kan jag hålla med om att det inte är lätt. Jag skulle ha igång en FTP och som det visade sig så har inte microsoft lagt in något stöd för detta som standard :q utan man är tvungen att skriva det själv..eller så hittar man det på nätet :)

Länk till en gjord FTPWebRequest
http://www.aspalliance.com/shark/articles/FtpView/FtpViewDoc.aspx

fredrikMedlem sedan dec. 19991 072 inlägg
#8

Nu efter mycket läsande och testande har jag faktiskt lyckats...skam den som ger sig! :)

Det var inte helt lätt att lista ut allt, men iaf, om nån annan behöver göra nåt likande postar jag in koden här.

Imports System.Net
Imports System.IO
Imports System.Text
Public Class httpRequest

    Public Function strGetHTTPResponse(ByVal strHost As String, ByVal strData As String) As String

        'Declare two object-variables to perform the HTTP-request / HTTP-response
        Dim httpRequest As HttpWebRequest
        Dim httpResponse As HttpWebResponse

        Dim streamRd As StreamReader
        Dim strReponse As String
        Dim bBuffer() As Byte
        Dim dataStream As Stream

        Try
            'Create the request
            httpRequest = WebRequest.Create(strHost)
        Catch ex As System.UriFormatException
            'Wrong format
            Err.Raise(vbObjectError, "-1")
        Catch ex As System.Net.WebException
            'Invalid URL
            Err.Raise(vbObjectError, "-2")
        End Try

        'Set the content-type
        httpRequest.ContentType = "text/xml"

        'For use of ANSI: (1252 = ANSI)
        'bBuffer = Encoding.GetEncoding(1252).GetBytes(strData)

        'Get bytes from the Data
        bBuffer = Encoding.ASCII.GetBytes(strData)

        'Set the right Method to use
        httpRequest.Method = "POST"

        'Set the Content-lenght (the lenght of the bytes from the data)
        httpRequest.ContentLength = bBuffer.Length

        'Set the data-stream to request-stream of the http-request
        dataStream = httpRequest.GetRequestStream()

        'Write the byte-data to request-strem
        dataStream.Write(bBuffer, 0, bBuffer.Length)

        'close the request-stream
        dataStream.Close()

        'Get the response
        httpResponse = httpRequest.GetResponse

        'Get the response-stream
        streamRd = New StreamReader(httpResponse.GetResponseStream)

        'Get the text from the stream
        strReponse = streamRd.ReadToEnd

        'Close the response
        httpResponse.Close()

        'Return the result
        Return strReponse
    End Function
End Class

Det låter lite som om du är ute efter SOAP?

Nej, jag jobbar mot ett system som levererar XML via HTTP...

Tack för alla tips igen!

NETworkMedlem sedan juni 20011 732 inlägg
#9

Nej, jag jobbar mot ett system som levererar XML via HTTP...

Det är väl precis det SOAP gör...

fredrikMedlem sedan dec. 19991 072 inlägg
#10

Jo, det är sant. jag tänkte mest på "Webservice"-delen (vilket inte framgick av mitt inlägg...).

Vad jag gör är att jag skickar XML till en URL och sen svarar den i XML.

Kan jag dra nytta av Webservices eller SOAP på nåt sätt här som är bättre än det jag gjort?

GrynetMedlem sedan maj 2001329 inlägg
#11

Själv skulle jag nog skrivit ihop en webservice som skickar ett XmlDocument och som tar emot det samma.

Detta framför allt så man slilpper gå så långt ner i programmeringen som du nu fick göra. Med Visual Studio får man ju allt detta gratis och det känns nästan som att man programmerar på samma dator. Man får ju till och med Soap anropet översatt till rätt typer..i ditt fall skulle nog du haft kvar det i XML dvs XmlDocument.

Vet inte om dettta är bättre men jag skulle nog gjort så här..men som huvudsaken är som alltid att det funkar :bire

GrynetMedlem sedan maj 2001329 inlägg
#12

Kom på en sak. Tänkte inte på att det kanske inte är du som har gjort den 'andra' sidans XML mottagare. DÅ vet jag inte riktigt hur det ska gå till om den vill ha 'ren XML'.

(I mitt fall hade jag ringt chefen så hade han fått säga till de andra att bygga om det till ett SOAP anrop ;)

fredrikMedlem sedan dec. 19991 072 inlägg
#13

Tänkte inte på att det kanske inte är du som har gjort den 'andra' sidans XML mottagare

Precis :)

Ett företag från Nya Zeeland har byggt själva xml-servicen i Java tror jag. Det är ett stort backoffice-system..så att göra om det är inget direkt alternativ :)

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)