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