2
遠程服務器通過RPC將XML發佈到我的服務器。當我打開mod安全性時,我可以在Apache日誌中看到XML,但是我無法從我的PHP腳本訪問XML。它應該是一個POST請求,但$ _POST數組是空的。如何從PHP訪問XML-RPC數據?
我的理解是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>
....
爲什麼我的函數被調用?!?