Re: Sending XML requests as raw post data

From: Date: Sun, 08 Feb 2009 02:16:35 +0000
Subject: Re: Sending XML requests as raw post data
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-287916@lists.php.net to get a copy of this message
Marc Steinert wrote:
Hi there! The software I'm maintaining uses $HTTP_RAW_POST_DATA to receive XML requests, posted by some client written in C#. Now I need to write a PHP client that posts XML requests the same way as the C# client, so that the posted data is stored in $HTTP_RAW_POST_DATA, too. I tried to use curl to match my needs, but failed to establish a connection with the following code: $header[] = "Host: ".$host; $header[] = "MIME-Version: 1.0"; $header[] = "Accept: text/xml"; $header[] = "Content-length: ".strlen($xmlRequest); $header[] = "Cache-Control: no-cache"; $header[] = "Connection: close \r\n"; $header[] = $xmlRequest; // Contains the XML request curl_setopt($curl, CURLOPT_URL,self::BASE_URL); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 4); curl_setopt($curl, CURLOPT_CUSTOMREQUEST,'POST'); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); // Dispatch request and read answer $response = curl_exec($curl); // returns false Thanks for your help. Greetings from Germany Marc
and nearly forgot, you can loose all of those headers, half the ones you specified are for responses not requests anyways :p $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, self::BASE_URL); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $xmlRequest); curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($curl, CURLINFO_HEADER_OUT, 1); $response = curl_exec($curl);

« previous php.general (#287916) next »