Удаленный сервер отправляет 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>
....
Почему моя функция не вызывается?!?