Удаленный сервер отправляет XML на мой сервер через RPC. Я вижу XML в своих журналах Apache, когда включаю безопасность модов, но я не могу получить доступ к XML из своего PHP-скрипта. Предполагается, что это запрос POST, но массив $_POST пуст.
Насколько я понимаю, RPC должен вызывать мою функцию с данными, но, похоже, этого не происходит.
Этот смехотворно простой скрипт должен записывать XML в лог-файл, но ничего не делает:
include_once('xmlrpc/xmlrpc.inc');
include_once('xmlrpc/xmlrpcs.inc');
function ImportOrders($xml)
{
$FH=fopen('Log/In.txt','a');
fwrite($FH,'Package recieved:'.print_r($xml,true)."\n");
// set appropriate response code
$response = 0; // see defined response codes for this application
// send success or failure response code
if($response == 0)
return new xmlrpcresp(new xmlrpcval($response, "string"));
else
return new xmlrpcresp(0, $response, $error_message);
}
$Server = new xmlrpc_server(
array("ImportOrders"=>array("function"=>"ImportOrders")
)
);
Они присылают мне это:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<methodCall>
<methodName>ImportOrders</methodName>
<params>
<param>
<value><int>2</int></value>
</param>
<param>
<value><struct>
<member><name>order_0</name>
<value><struct>
<member><name>order_id</name>
....
Почему моя функция не вызывается?!?