私はパートナーのXMLサービスとの交換を構築していましたが、XMLを正しく取得できませんでしたが、Drupalのすべてのものと同様に、xmlrpcエラーとアクションのログは堅牢ではありません。
したがって、includes / xmlrpc.incでこれを行いました。
function xmlrpc_request($method, $args) {
$xmlrpc_request = new stdClass();
$xmlrpc_request->method = $method;
$xmlrpc_request->args = $args;
$xmlrpc_request->xml = <<<EOD
<?xml version="1.0"?>
<methodCall>
<methodName>{$xmlrpc_request->method}</methodName>
<params>
EOD;
foreach ($xmlrpc_request->args as $arg) {
$xmlrpc_request->xml .= '<param><value>';
$v = xmlrpc_value($arg);
$xmlrpc_request->xml .= xmlrpc_value_get_xml($v);
$xmlrpc_request->xml .= "</value></param>\n";
}
$xmlrpc_request->xml .= '</params></methodCall>';
/* This part here */
watchdog('xmlrpc',$xmlrpc_request->xml);
/* End ridiculously tiny hack */
return $xmlrpc_request;
}
必要なデータを取得し、10分以内に、パートナーインターフェイスが私の要求に適切に応答するようになりました(ショックは知っています)。
私は余分なロギングが好きで、それを維持したいです。それを行うためのDrupalが承認した、クリーンでわかりやすい、そして最も重要な方法は何ですか?
variable_set()
か、必要に応じてエクスポートできる同様のメカニズムを設定することだけです。:]