note 57927 added to ref.xmlrpc
| From: | john#curioussymbolscom at osu1 dot php dot net | Date: | Wed, 19 Oct 2005 11:37:12 +0000 |
| Subject: | note 57927 added to ref.xmlrpc | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-97223@lists.php.net to get a copy of this message | ||
I couldn't make the 'xmlrpc_errors' php.ini setting do anything
noticeable (PHP 4.3.11), so I used the following code to report errors
from my XMLRPC server. Hope it's helpful for someone.
<?php
function return_xmlrpc_error($errno,$errstr,$errfile=NULL,$errline=NULL
,$errcontext=NULL){
global $xmlrpc_server;
if(!$xmlrpc_server)die("Error: $errstr in '$errfile', line
'$errline'");
header("Content-type: text/xml; charset=UTF-8");
print(xmlrpc_encode(array(
'faultCode'=>$errno
,'faultString'=>"Remote XMLRPC Error from
".$_SERVER['HTTP_HOST'].": $errstr in at $errfile:$errline"
)));
die();
}
set_error_handler('return_xmlrpc_error');
?>
In my server function, I just trigger_error("message",E_USER_ERROR)]
if something can't be completed.
Then on the client side,
<?php
$data =& xmlrpc_decode($response['body']);
if(xmlrpc_is_fault($data)){
trigger_error($data['faultString'],E_USER_ERROR);
}
?>
----
Manual Page -- http://www.php.net/manual/en/ref.xmlrpc.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+57927
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+57927&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+57927&report=yes
Search -- http://master.php.net/manage/user-notes.php