Доброго время суток!
Возникла такая проблема:
Пишу скрипт, который взаимодействутет с другим web-сервисом. На мой скрипт приходить POST запрос с XML, я отправляю ответ XML, далее отправляю свой запрос, накоторый получаю овет XML. На другой стороне используеться программа написанная на Visual Basic. Так вот сама проблема заключается в том что мой ответ на POST запрос приходит не в той же сессии, а отдельно, тоесть уходит в никуда.
$a = base64_decode( substr($_SERVER["HTTP_AUTHORIZATION"],6)) ;
if ( (strlen($a) == 0) || ( strcasecmp($a, ":" ) == 0 ))
{
header( \'WWW-Authenticate: Basic realm="Private"\' );
header( \'HTTP/1.0 401 Unauthorized\' );
}
else
{
list($name, $password) = explode(\':\', $a);
$_SERVER[\'PHP_AUTH_USER\'] = $name;
$_SERVER[\'PHP_AUTH_PW\'] = $password;
if ($_SERVER[\'PHP_AUTH_USER\']==$admname && $_SERVER[\'PHP_AUTH_PW\']==$pass)
{
//-----------------------------------------------------------------------------------------------------------
$xmlpacket="
Accepted
";
$contentlength = strlen($xmlpacket);
header (\'Connection: Keep-Alive\');
header (\'Content-type: application/xml\');
header ("Content-length: $contentlength");
echo $xmlpacket;
$xml_text = $HTTP_RAW_POST_DATA;
$l=strpos($xml_text, " $l1 = strpos($xml_text, ">", $l);
$xml_text = substr_replace($xml_text, \'\', $l, $l1-$l+1);
$xml_parser = new Parser;
$xml_parser->parse($xml_text);
if ($xml_parser->error_string!=""){echo $xml_parser->error_string;}
else{
//------------------------ЗДЕСЬ ОБРАБОТКА ОТПАРСЕНОГО XML-----------------------------
$fp = fsockopen($ip, 80, $errno, $errstr, 30);
if (!$fp)
{
echo \'Could not open connection.\';
}
else
{
$xmlpacket ="КАКОЙТО XML";
$contentlength = strlen($xmlpacket);
$out = "POST ".$spath." HTTP/1.0\\r\\n";
$out .= "Host: ".$ip."\\r\\n";
$out .= "Connection: Keep-Alive\\r\\n";
$out .= "Content-type: application/xml\\r\\n";
$out .= "Content-length: $contentlength\\r\\n\\r\\n";
$out .= "$xmlpacket";
//echo $out;
fwrite($fp, $out);
while (!feof($fp))
{
$theOutput .= fgets($fp);
}
fclose($fp);
//-------------ОБРАБОТКА ОТВЕТА
}
}
//-----------------------------------------------------------------------------------------------------------
}
else
{
echo "Wrong login or password";
}
}
?>
Вобщем перерыл пол инета в поисках как правильно сформировывать ответы на POST запрос и ничего толком не нашел. Может кто знает в чем тут дело? Заранее благодарен...