Implementation des OTA-Standards

mC pAiN

Erfahrenes Mitglied
Hallo,

ich war jetzt schon etwas länger nicht aktiv hier, könnte aber im Moment Hilfe sehr gut gebrauchen. Ich muss nämlich mit Hilfe von PHP die "Open Travel Alliance" Spezifikationen (OTA-Standard) in eine Seite einbinden. Im Moment habe ich einen Testzugang zu einem System, indem ich XML-Daten an eine Schnittstelle sende und von dort dann einen XML-Response bekomme. Ein einfacher Request wäre z.B.:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_VehLocDetailRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_VehLocDetailRQ.xsd" Version="1.008">
	<POS>
		<Source ISOCountry="DE" AgentDutyCode="xxxxx">
			<RequestorID Type="4" ID="xxxxx">
				<CompanyName Code="CP" CodeContext="xxxxx"/>
			</RequestorID>
		</Source>
	</POS>
	<Location LocationCode="CGNS61" CodeContext="IATA"/>
</OTA_VehLocDetailRQ>

Als Response kommen dann wieder XML-Daten mit Informationen, die ich dann verarbeiten kann (was kein Problem ist ;-)).

Meine Frage ist nun, wie ich am besten den Request mit PHP an die Schnittstelle sende. Ich habe nur die URL, an die das Ganze gesendet werden muss...
 
PHP:
<?php 
$XPost[0]=$XMLDaten;
$url = "http://server.to/xml.php";
$ch = curl_init();    // initialize curl handle
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 4); // times out after 4s
curl_setopt($ch, CURLOPT_POSTFIELDS, $XPost); // add POST fields
$result = curl_exec($ch); // run the whole process
echo $result; //contains response from server 
?>
 
1. Dieses Snippet ist von der PHP Webseite
2. Ich kenne Dein Script nicht, du musst den Schnippsel schon anpassen.
3. Geht es auch was freundlicher wenn man schon Hilfe bekommt.
4. Dein Link ist ebenfalls nur eine Kopie von php.net
5. Da Du ja was gefunden hast, ist das Thema ja erledigt.

PS: Wenn Du nochmal Hilfe brauchst, schreibe gleich dazu das du das zwar selber lösen kannst, aber lieber Leute die Dir kostenlos helfen wollen beschimpfst.
 
Zuletzt bearbeitet:
6. Der Thread ist nicht von mir. :)

Ich fand deinen Post nur etwas komisch, da keinerlei Kommentare dabei waren - das hat mich auf einem typischen copy&paste'r schließen lassen.Aber da dem nicht so ist möchte ich mich hiermit entschuldigen. ;)
Wo auf php.net stehtn das? Weil dann kann ich auch darauf verlinken und nicht auf irgendwelche Foren.
 
Hey,
vielen Dank für eure Antworten. Hatte es auch mit curl probiert aber einen kleinen Fehler im Skript gehabt. Jetzt klappt es aber prima. Danke nochmal ;)
 
Zurück