XML-POST mit fsockopen

patrickswelt

Aktives Mitglied
Folgend ist mein quelltext von einer serververbindung. Wenn man ihn ausführt bekommt man leider erst nach ca 2 minuten eine Antwort. Es muss aber irgend wie in unter 10 sekunden gehen. Also ist irgend was falsch.
Es wäre super, wenn einer von euch den Fehler findet.
CODE
<?

function getXMLObject($string,$system){
global $url;
$uri = parse_url($url[$system]);
$fp = fsockopen($uri['host'], 80, $errno, $errstr, 30);
if(!$fp) {
echo "Keine Verbindung zum Server:".$system."<br />\n";
} else {
#$string =utf8_encode($string);
fputs ($fp,"POST ".$uri['path']." HTTP/1.1\r\n");
fputs ($fp,"Host: ".$uri['host']."\r\n");
fputs ($fp,"Content-Type: text/xml; charset=UTF-8\r\n");
fputs ($fp,"Content-length: ".strlen($string)."\r\n");
fputs ($fp,"Connection: close\r\n");
fputs ($fp,$string);
while (!feof($fp)) {
$resp .= fgets($fp, 128);
}
fclose($fp);
echo $resp;

}
}

$user['aot'] = 'OTICOM';
$password['aot'] = 'icom99';
$url['aot'] = 'http://xml.trn.travel-bookings.net/xml2/index.php';

$a="
<?xml version='1.0' encoding='UTF-8'?>
<GetLocationsRequest>
<AgentID>edited by Admin</AgentID>
<Password>edited by Admin</Password>
<LocationType>T</LocationType>
<LocationCode>413</LocationCode>
</GetLocationsRequest>
";
getXMLObject($a,"aot");

?>



Beste Grüße Patrick
 
Ich nutze zwar kein PHP.

Aber mit fgets winzige 128 - Byte - Portionen zu holen scheint mir doch sehr ineffizient zu sein.

Nimm da 4096 oder 8192.

Abgesehen davon solltest Du deinen Nutzernamen und dein Passwort nicht in Beispielcode reinschreiben.
 
Das sind beispielbenutzernamen und passwort.(Die sind vom Betreiber zum testen gegeben.)

Danke für deine Antwort.
Leider ist das noch nicht die Lösung.
Wenn ich die schleife + das fget auskommentiere geht's allerdings sehr schnell.
 
Versuche es mal mit anderen POST-Daten, möglicherweise wird deine Anfrage einfach zu langsam vom Server verarbeitet. Bei vergleichbaren HTTP-Requests mit fsockopen habe ich keine Probleme.

Ist ein POST mit XML überhaupt möglich? Davon hab ich noch nie was gehört...
 
QUOTE (malte @ Mo 20.08.2007, 12:21) Ist ein POST mit XML überhaupt möglich? Davon hab ich noch nie was gehört...

Ja, ich hab auch eine Anwendung, welche XML per POST sendet...
 
QUOTE (malte @ Mo 20.08.2007, 11:21)Ist ein POST mit XML überhaupt möglich? Davon hab ich noch nie was gehört...

Mit POST kann man beliebige Daten übertragen, auch Bilder. Das sind sogar Binärformate, also 'kritischer' als Xml-Dateien, die reine Textdateien sind.

Alle Webservices beruhen auf SOAP - und auf dem POST eines SOAP-Xml-Dokuments.

Sprich: Jeder Forumsbeitrag ist ein POST - eben nicht von einem Xml-Dokument, sondern von planem Text.
 
Zurück
Oben