DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  ppedv AG - 5 Sterne Trainings

 
Navigationslinks überspringen
Autor:Hannes Preishuber

XML an den Webserver senden

Mit XML lassen sich wunderbar Daten transportieren. Sie können auch ASP nutzen um diesen Transport durchzuführen. Dazu bauen wir eine spezielle ASP Seite die nicht für den Webbrowser gedacht ist.
Um Daten im XML Format zum Webserver zu senden gibt es mit HTTP 1.1 das POST Kommando. Leider funktioniert das so alleine und direkt nicht. Aber es gibt Hilfe aus der MSXML3.DLL, nämlich XMLHTTP.

Am Webserver muss jemand lauern und um die XML Daten entgegennehmen. Dies könnte ein CGI Script, eine ISAPI.DLL oder eine ASP Seite sein. Wir haben uns für die ASP Seite entschieden und nennen diese "Listener". Die Gegenstelle wird "Caller" genannt. Sowohl Listener als auch Caller können mit einer beliebigen Technologien und Betriebsystemen realisiert werden. So kann eine Kommunikation zwischen einem Linux und NT Server über XML realisiert werden.
Der Listener benötigt keine klassischen HTML Tags, da keien Web Page angezigt werden muss, sondern nur pure XML Daten kommen. Die Empfangenen Daten speichert der Listener in ein File.

<%
dim xmlReq
set xmlReq = server.createobject("Microsoft.XMLDOM")
xmlReq.async=false
xmlReq.load request
xmlReq.save  "e:Datenkopie.xml"
%>

Auf der Clientseite könnte eine VB Anwendung oder ein HTML Seite als Caller stehen. In unseren Beispiel verwenden wir JavaScript für die programmierung. Die Daten werden über eine HTML Textbox erfasst und zum Server and den Listener gesendet.
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function button1_onclick() {
  var xmlDoc = new ActiveXObject("microsoft.xmldom");
  xmlDoc.async=false;
  xmlDoc.load (text1.value);
  var xhttp = new ActiveXObject("msxml2.xmlhttp");
  xhttp.open ("POST", "http://webserver/listener.asp", false);
  xhttp.send (xmlDoc);  
  text1.value="";
  alert("Fertig");
}
//-->
</SCRIPT>
</HEAD>
<BODY>Name des lokalen XML Files:
<INPUT type="text" id=text1 name=text1>
<INPUT type="button" value="Button" id=button1 name=button1 LANGUAGE=javascript  onclick="return button1_onclick()">
</BODY>
</HTML>


Diskutieren Sie in den Foren

Advanced Developers Track vom 24.-25. Februar 2010 im ehem. IMAX München