DevTrain

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>


Erfasst am: 09.04.2002 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=745
© Copyright 2003 ppedv AG - http://www.ppedv.de