[PHP] Re: Sending XML requests as raw post data

2009-02-07 Thread Nathan Rixham

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



i think..
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlhere );

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Re: Sending XML requests as raw post data

2009-02-07 Thread Nathan Rixham

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);


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php