Var i frameworket hittar jag funktionalitet som tidigare fanns i "MSXML.XMLHTTPRequest"?
Dvs. att hämta XML från en viss URL?
12 svar · 302 visningar · startad av fredrik
Var i frameworket hittar jag funktionalitet som tidigare fanns i "MSXML.XMLHTTPRequest"?
Dvs. att hämta XML från en viss URL?
System.Web.HttpRequest resp. System.Web.HttpResponse
Tack för tipset! Slänger mig genast över det! :)
Kika under System.Net.FileWebRequest och System.Net.HttpWebRequest, de classerna är rätt nyttiga.
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å?
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/
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
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!
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?
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
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 ;)
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 :)