2009年4月13日星期一

Re: [fw-webservices] Zend_XmlRpc_Client_FaultException' with message 'Calling parameters do not match signature

Fortunately, I had fixed the problem by making some small changes to the
client part.

I had modified the client-side as follows

function responseAction()
{
global $db,$site_domain_location;
$filter = new Zend_Filter_StripTags();
$response_id = (int) $this->_request->getParam('response_id');
try {
$client = new
Zend_XmlRpc_Client('http://smileeholidays.com/Fundook/xmlrpc');
$result = $client->call('email.siteVisit', array($response_id));
} catch (Zend_XmlRpc_Client_FaultException $e) {
echo "An exception occurred: " . $e->getMessage() . "\n\n";
}

}

One important thing to notice, is that, when the sever function is called
using parameters, always try to pass it using an array just like
$result = $client->call('email.siteVisit', array($response_id));

Here the parameter $response_id always holds an integer value,
ie: $response_id = (int) $this->_request->getParam('response_id');

So in the Emails.php, it is very important to place the doc-block as follows

/**
* Echo back a integer
*
* @param integer $response_id
* @return integer
*/


(My Special thanks to Mr. Matthew Weier O'Phinney)
http://www.mail-archive.com/fw-general@lists.zend.com/msg06047.html

Hope, this may be helpful to someone... Cheers :jumping:

Regards
Anz

--
View this message in context: http://www.nabble.com/Zend_XmlRpc_Client_FaultException%27-with-message-%27Calling-parameters-do-not-match-signature-tp23018408p23019836.html
Sent from the Zend Web Services mailing list archive at Nabble.com.

没有评论: