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>
....
为什么我的函数被调用?!?