Dennis: Autmomatisch Datenstring von Server zu Server schicken

Beitrag lesen

Hi los,

Danke. Nochmehr beispiele und Tuts?

Nehme die Funktion PostToHost() aus dem von mir verlinkten Tutorial, verwende als Content-Type text/xml anstelle von application/x-www-form-urlencoded und übergebe als $data_to_send ein XML-Dokument, z.B.:

~~~xml <?xml version='1.0' standalone='yes' ?>
  <daten>
    <variable name="foo">bar</variable>
    <variable name="test">Some interesting stuff</variable>
  </daten>

  
Überlege dir halt, wie du deine gut in XML repräsentieren kannst. Um deine Arbeit anderen Entwicklern verständlich zu machen, welche z.B. deine Schnittstellen verwenden sollen, schreibe eine [DTD](http://de.selfhtml.org/xml/dtd/index.htm) und notiere dein XML entsprechend danach.  
  
Im empfangenden Script kommst du nun so an die Daten ran:  
  
  ~~~php
// read [link:http://de2.php.net/manual/de/wrappers.php.php@title=input] data  
  $data = "";  
  $fp = fopen("php://input","r");  
  while(!@feof($fp)){  
    $data .= fgets($fp);  
  }  
  fclose($fp);  
  
  if(empty($data)) {  
    // Hier eine Fehlerbehandlung einfügen! z.B.:  
    header("Status: 406 Not Acceptable");  
    die("No data received!");  
  }  
  
  // in einem Projekt von mir folgenden hier nun noch  
  // Validierungen von $data mittels [link:http://de2.php.net/manual/de/function.xml-parse.php@title=xml_parse()] und  
  // [link:http://de2.php.net/manual/de/function.dom-domdocument-validate.php@title=DOMDocument->validate()] für letzteres ist aber  
  // eine DTD notwendig  
  
  // create [link:http://de2.php.net/simplexml@title=SimpleXML] Object from string  
  $xml_object = simplexml_load_string($data);

Vielleicht hilft dir das ja weiter, in meinem Fall ist der Client allerdings kein PHP-Script von einem anderen Server, sondern eine in C#.NET geschriebene Windows-Software, welche lokal bei dem Benutzer des Systems auf dem PC läuft.

Viele Grüße,
  ~ Dennis.