<?xml version="1.0" ?>
<rss version="2.0">
	<channel>
		<title>Keith's Weblog: Comments on &quot;XML-RPC version 3.0&quot;</title>
		<description>Keith's Weblog: Comments on &quot;XML-RPC version 3.0&quot;, posted on October 21, 2002</description>
		<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0</link>
		<language>en-us</language>
		<image>
			<link>http://keithdevens.com/weblog</link>
			<title>Keith Devens .com</title>
			<url>http://keithdevens.com/images/kbd.gif</url>
		</image>

		<item>
			<title>by Lachlan Donald</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1239</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1239</guid>
			<pubDate>Mon, 06 Jan 2003 16:32:06 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Support for HTTP success codes. The current version of the library seems to not care if the xmlrpc server returned &amp;quot;302 Moved Temporarily&amp;quot; or &amp;quot;200 Success&amp;quot;, which is irritating because it goes ahead and tries to serialize the web server error message into a response.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1240</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1240</guid>
			<pubDate>Mon, 06 Jan 2003 22:57:23 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Hmm, interesting. So it should handle redirects. Good point. Does the XML-RPC spec have anything to say about this? If it's open to the implementation, then I'll implement it, along with support for other error codes like 404. Thanks for the input.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Lachlan Donald</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1263</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1263</guid>
			<pubDate>Mon, 13 Jan 2003 07:05:26 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;&lt;a href=&quot;ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt&quot;&gt;ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt&lt;/a&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Thats the relevant RFC. Even if you don't handle redirects, it would be nice to return false for success if there is anything except for a Successful 2xx status code.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;As for the XMLRPC spec, all thats mentioned is this: &lt;br /&gt;
&amp;quot;Unless there's a lower-level error, always return 200 OK.&amp;quot;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I would take this as, if you get anything other than a 200 OK its an error. &lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Robert Harder</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1274</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1274</guid>
			<pubDate>Thu, 16 Jan 2003 15:18:56 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Just a thanks for making simple function calls instead of too-complex OO objects.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Lachlan Donald</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1330</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1330</guid>
			<pubDate>Fri, 24 Jan 2003 15:19:58 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Basic HTTP Authentication&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;What I have done is basically add a user name and password to the XMLRPC_request method and then add in a Authentication header.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I will send u a patch if you are interested. &lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Mark Weston</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1493</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1493</guid>
			<pubDate>Tue, 25 Feb 2003 22:31:39 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Tabular/Dataset data.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I'm interested in using PHP as a front-end Web Services written on the .Net platform.  Microsoft turn a .Net Dataset object to a complex XML (DiffGram) structure for transmission over the internet.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Is it feasible to create a PHP object that takes this XML and exposes methods &amp;amp; properties that allow me to navigate through the Dataset, get the original and current value for a particular column etc...&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Ideally this object would have the same methods and properties as the Microsoft .Net Dataset object.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Cheers!&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1494</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1494</guid>
			<pubDate>Wed, 26 Feb 2003 06:25:16 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Hi Mark, I'm not that familiar with the dataset stuff you're talking about, but while it seems like there's no reason it couldn't be written in PHP, it sounds like it's outside the scope of my XML-RPC library.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Patrick Boucher</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1764</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1764</guid>
			<pubDate>Mon, 07 Apr 2003 17:30:00 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;How about utf8 support? I've got a hard time sending special characters from one end to the other of my distributed system because of encoding questions.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment1765</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment1765</guid>
			<pubDate>Mon, 07 Apr 2003 17:36:50 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;utf8 support: PHP doesn't support Unicode. Furthermore, I'm just using PHP's built in XML parser, so if PHP did support Unicode I wouldn't have to make any changes to my library to have it work.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;However, what are the &amp;quot;special characters&amp;quot; you're trying to send back and forth? Typically, when I have any +127 characters in text (like special single and double quotes, em and en dashes, etc.), PHP has no trouble dealing with it. I've never tried working with Korean, Japanese, Chinese, Thai, Arabic, etc. etc. though. &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt;&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Eliot</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment2217</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment2217</guid>
			<pubDate>Wed, 18 Jun 2003 06:10:28 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;When I include your file in my ISP's fairly standard PHP 4.2.2, I get a lot of &amp;quot;Call-time pass-by-reference has been deprecated&amp;quot; warnings. It's easy to suppress these with @, but perhaps you could strip out the pass by reference stuff.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Thanks for the software!&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment2221</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment2221</guid>
			<pubDate>Wed, 18 Jun 2003 21:23:48 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Eliot - known problem. If I could only get myself to release version 3.0 none of that would happen &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt; At the very least, maybe I should put an &amp;quot;error_reporting(E_ALL &amp;amp; ~E_NOTICE)&amp;quot; at the beginning of the script (and restore it at the end) to patch it up for now.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Chris Adams</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment2653</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment2653</guid>
			<pubDate>Thu, 07 Aug 2003 03:32:05 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;&lt;a href=&quot;http://improbable.org/chris/xmlrpc.patch&quot;&gt;http://improbable.org/chris/xmlrpc.patch&lt;/a&gt; has the patch output of the changes I made to work around those call-time pass by reference warnings. The only tricky thing is accounting for our inability to change the prototype for array_unshift - I work around that by pushing a temporary value first and replacing it.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Hendrik</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment2660</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment2660</guid>
			<pubDate>Fri, 08 Aug 2003 12:33:35 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Kudos to Chris, your patch seems to do the trick! Thanks very much!&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by lordwo</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment3976</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment3976</guid>
			<pubDate>Sun, 22 Feb 2004 14:56:35 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;I have a lot of concern about the compatibility of the XML-RPC library and PHP5.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of XML_unserialize(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;That's popping everywhere. Since most of the users have no right to change php.ini directives on their host, it should be corrected for the future.&lt;br /&gt;
Thanks for you concern.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment3977</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment3977</guid>
			<pubDate>Sun, 22 Feb 2004 20:45:06 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;I know about it but there's nothing I can do under PHP 4. Note, however, that that feature can be changed in an .htaccess file, so pretty much anyone should be able to change it. I'm also almost completely sure the feature hasn't been removed in PHP 5, so there's nothing to worry about. Once PHP 5 comes out I'll be able to fix the code so it doesn't have that problem.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I've &lt;a href=&quot;/weblog/archive/2003/Aug/13/HATE-PHP&quot;&gt;ranted about this particular deprecation&lt;/a&gt; before. I'm pretty furious about it because the PHP developers deprecated a feature -- and not only did they deprecate it and give NOTICE-level errors... they give &lt;em&gt;WARNINGs&lt;/em&gt; -- while there are so many places in PHP that it impacts on, and they provided NO alternative to it. PHP, in version 4, is fundamentally broken in this way.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Rest assured, once PHP 5 comes out and fixes this problem by &lt;strong&gt;finally&lt;/strong&gt; having a sensible object model I'll be able to fix the code. I plan on getting 3.0 done once that happens.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Pallieter Koopmans</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4064</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4064</guid>
			<pubDate>Tue, 02 Mar 2004 09:40:59 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Additional sample code (implementations for RSS 0.92, Atom, Echo, etc) and API's (TypePad, Blogger, Nucleus, MovableType, etc) would make this packedge complete. Success with the next version!&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4065</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4065</guid>
			<pubDate>Tue, 02 Mar 2004 18:19:32 +0000</pubDate>
			<description>&lt;blockquote class=&quot;st-markup&quot;&gt;&lt;p&gt;implementations for RSS 0.92, Atom, Echo, etc&lt;/p&gt;&lt;/blockquote&gt;

&lt;p class=&quot;st-markup&quot;&gt;What do those have to do with XML-RPC?&lt;/p&gt;

&lt;blockquote class=&quot;st-markup&quot;&gt;&lt;p&gt;and API's&lt;/p&gt;&lt;/blockquote&gt;

&lt;p class=&quot;st-markup&quot;&gt;Bindings for specific APIs don't belong in a library like this. Furthermore, they're specific to a particular CMS.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Robert Castley</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4128</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4128</guid>
			<pubDate>Tue, 16 Mar 2004 11:11:38 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;I would like to see support for multiple/unlimited method requests in a single xmlrpc session.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4130</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4130</guid>
			<pubDate>Tue, 16 Mar 2004 12:37:30 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;In a single session? What do you mean? In one HTTP connection? I don't think that's in the spec.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by ash</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4172</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4172</guid>
			<pubDate>Thu, 18 Mar 2004 11:07:38 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;&lt;em&gt;Does it make sense to also support HTTP authentication?&lt;/em&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Sure it does.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Ryan Johnson</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4247</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4247</guid>
			<pubDate>Mon, 29 Mar 2004 08:17:35 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Just like you're planning on including convience functions, I'd like to see built in (as in, packaged with the library), object wrappers for methods and requests. Unlike most OO freaks, I've actually thought about why this is a good idea, should I send my code along? I've found wrapping the various methods in objects (that are extended from a base XMLRPC_method) a much more reliable and extensible way to handle things.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4248</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4248</guid>
			<pubDate>Mon, 29 Mar 2004 08:30:14 +0000</pubDate>
			<description>&lt;blockquote class=&quot;st-markup&quot;&gt;&lt;p&gt;object wrappers for methods and requests&lt;/p&gt;&lt;/blockquote&gt;

&lt;p class=&quot;st-markup&quot;&gt;You mean to automatically expose all the methods of an object as an XML-RPC service?&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;If not that, I'm not quite sure what you're talking about, but I'd be happy to listen to your idea and read any code you send along. I'll e-mail you a copy of this comment and you can reply by e-mail. Or -- and this would be easier for me since it would ensure that your idea is kept along with this entry -- you could elaborate right here and paste whatever code you'd like to. Your choice.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Ryan Johnson</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4249</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4249</guid>
			<pubDate>Mon, 29 Mar 2004 09:56:31 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;What I developed is a bit different than the way you interpeted my vauge statement above, so I'll describe it a bit better =) Basically, I wanted a simple way for people to be able to add methods to an RPC server, without having tons of variables floating around. On top of that, the methods themselves don't even call any of the XMLRPC functions, so if you upgrade or change systems, it's a trivial change to your code in one place. So here goes:&lt;/p&gt;

&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*&amp;#160;Assume&amp;#160;these&amp;#160;are&amp;#160;somewhere&amp;#160;in&amp;#160;the&amp;#160;XMLRPC&amp;#160;library&amp;#160;file,&amp;#160;and&amp;#160;are&amp;#160;loaded&amp;#160;with&amp;#160;the&amp;#160;rest&amp;#160;of&amp;#160;it.&amp;#160;There&amp;#160;are&amp;#160;some&amp;#160;constants&amp;#160;that&amp;#160;I've&amp;#160;defined&amp;#160;(all&amp;#160;in&amp;#160;caps),&amp;#160;but&amp;#160;otherwise&amp;#160;it&amp;#160;should&amp;#160;fit&amp;#160;in&amp;#160;anywhere.&amp;#160;*/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;class&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_Request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;request&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_parse&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;file_get_contents&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;php://input&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;method&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;@&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_getMethodName&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;@&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_getParams&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;invokeMethod&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;@require_once(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PATH_TO_EXTENSIONS&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'xmlrpc.'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'.php'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$classname&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;str_replace&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'.'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'_'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$function_name&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;str_replace&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'.'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'_'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;class_exists&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$classname&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$classname&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;setup&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$function_name&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(!&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_prepare&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;),&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLPRPC_AGENT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;elseif(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;is_null&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;))&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'Method&amp;#160;returned&amp;#160;a&amp;#160;null&amp;#160;response'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;':'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLPRPC_AGENT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;else&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$repsonse&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;':'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLPRPC_AGENT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&amp;#160;else&amp;#160;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;L_XML_UNDEFINED_METHOD&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;':'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLPRPC_AGENT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_method&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$classname&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(){}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;setup&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$function_name&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;amp;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;request&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;amp;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;error&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;function_name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$function_name&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;{&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;function_name&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;}();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_call&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$success&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_call&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$url&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;define&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(!&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;is_array&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'$params&amp;#160;must&amp;#160;be&amp;#160;passed&amp;#160;as&amp;#160;an&amp;#160;array.'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;succes&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;return;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$req&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;array();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;foreach(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;as&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$p&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$req&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[]&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_prepare&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$p&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$success&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$url&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$dir&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$req&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;success&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$success&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug_print&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;p class=&quot;st-markup&quot;&gt;Now, in a file where the call will point to: &lt;/p&gt;

&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;if(isset(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$_GET&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'rpc'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]))&amp;#160;{&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;require_once(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PATH_TO_CORE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'driver.xmlrpc.php'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_Request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;invokeMethod&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;p class=&quot;st-markup&quot;&gt;So here is a sample method. It's located in lib/extensions/kiwi.numToString.php (PATH_TO_EXTENSIONS was defined as 'lib/extensions/' in my script.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Notice that the method is called as kiwi.NumToString, but that the class and function are named with underscores because a period would be an invalid name. Note that because of the base class above, the params and response and error variable are already set. $this-&amp;gt;error is set to false with begin with, and you just have to set it to anything but false to trigger an error. The key to the design of this, is that the user (implimentor) doesn't have to worry about anything XMLRPC related, taking your abstraction of the datatypes between PHP and XMLRPC slightly further. If this doesn't make sense by reading it, I can further document it.&lt;/p&gt;

&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;class&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_kiwi_NumToString&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;extends&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_method&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;kiwi_NumToString&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;switch(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'1'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'One'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'2'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'Two'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'3'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'Three'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;default:&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;error&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'Please&amp;#160;choose&amp;#160;a&amp;#160;number,&amp;#160;1-3.&amp;#160;You&amp;#160;chose:&amp;#160;'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;];&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;p class=&quot;st-markup&quot;&gt;And now here's code that actually works (as in, you can query the server right now using the code in this comment).&lt;/p&gt;

&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;require_once(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'lib/core/driver.xmlrpc.php'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[]&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_call&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'kiwi3.com'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'/kiwi/?rpc'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'kiwi.numToString'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;echo&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$request&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*&amp;#160;Response&amp;#160;is&amp;#160;&quot;Two&quot;&amp;#160;*/&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;p class=&quot;st-markup&quot;&gt;A lot of code to get the string Two, but hey, it works really well with complex applications too =)&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;If any of that doesn't make sense I can explain my rationale further. I think with PHP5 being so OO, something like this should come as an option. Even if this looks like unnessecary and useless OO, it really does compartmentalize things much more nicely, and make the implimentation code &lt;em&gt;MUCH&lt;/em&gt; more consistent, at least for large applications. It's complete overkill for anything simple, I would agree to anyone who is critizing at this moment. - Ryan&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Ryan Johnson</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4250</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4250</guid>
			<pubDate>Mon, 29 Mar 2004 09:59:23 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Something I'm not sure I made clear (that I just remembered), is that all you need to do to make a new method available on your RPC server is just drop a file called&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;your.MethodName.php&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;with the appropriate class name ( XMLRPC_your_MethodName in this case), in the folder which the script is looking in (in this case PATH_TO_EXTENSIONS), and that method automagically becomes available.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Ryan Johnson</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment4251</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment4251</guid>
			<pubDate>Mon, 29 Mar 2004 10:02:27 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;One more thing I also forgot (total scatterbrain, sorry), was that the reason the call is split up in the server script above (the one that calls invokeMethod() ), is because usually I run $params through my authentication function to see wether  to continue or not. I yanked that out for simplicity of the example.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Hartmut Seichter</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment7307</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment7307</guid>
			<pubDate>Sun, 27 Mar 2005 08:06:14 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Thanks for the script, it helped me to implement a lot of features for my little project. Take-and-give, I've cleaned up the call-by-reference things:&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;&lt;a href=&quot;http://technotecture.com/?node=projects/temx/download&quot;&gt;Download from here&lt;/a&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Best Regards,&lt;br /&gt;
Hartmut&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Gwyneth Llewelyn</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment9575</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment9575</guid>
			<pubDate>Sun, 30 Jul 2006 11:54:45 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Hello,&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I'm no professional programmer, so I've used your library for some two years now for the very very simple cases where I need to do some XML-RPC requests, since it's a tiny library, non-OO, uses native PHP data types, and well, it's universally installable — no tricky bits or messing with php.ini. It's also incredibly stable, under all versions of PHP I tried.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;The &lt;em&gt;only&lt;/em&gt; thing that seems to be missing is the ability to communicate using HTTPS &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt; Several XML servers now require the ability to do either TLS encoding or sometimes even more sophisticated mechanisms... which are handled easily by libCURL (natively), fortunately, allowing me to play around with them.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I've thus added the following function (XMLRPC_request_CURL) to use CURL to do the request:&lt;/p&gt;

&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;Added&amp;#160;by&amp;#160;Gwyneth&amp;#160;Llewelyn&amp;#160;20060730&lt;br /&gt;//&amp;#160;Uses&amp;#160;libCURL&amp;#160;to&amp;#160;handle&amp;#160;special&amp;#160;cases&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;function&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_request_CURL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$site&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$location&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$methodName&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$user_agent&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;methodCall&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;methodName&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$methodName&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$param_count&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(!&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$param_count&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;methodCall&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;params&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}else{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;for(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$n&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$n&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$param_count&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$n&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;++){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;methodCall&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;params&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;param&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$n&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;value&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]&amp;#160;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$n&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;];&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XML_serialize&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;defined&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;and&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_DEBUG&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Received&amp;#160;the&amp;#160;following&amp;#160;parameter&amp;#160;list&amp;#160;to&amp;#160;send:&amp;lt;/p&amp;gt;&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$params&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'print_r'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;array(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Content-Type:&amp;#160;text/xml&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Content-Length:&amp;#160;&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;strlen&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_init&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_URL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$site&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$location&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_POST&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_POSTFIELDS&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_POSTFIELDSIZE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;strlen&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_RETURNTRANSFER&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_TIMEOUT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_SSL_VERIFYPEER&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;FALSE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_setopt&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;CURLOPT_HTTPHEADER&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_exec&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if&amp;#160;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_errno&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;))&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'&amp;lt;p&amp;gt;Connection&amp;#160;failed:&amp;#160;'&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_error&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'&amp;lt;/p&amp;gt;'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;else&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;curl_close&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$ch&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;defined&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;and&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_DEBUG&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Sent&amp;#160;the&amp;#160;following&amp;#160;request:&amp;lt;/p&amp;gt;\n\n&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'print_r'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XML_unserialize&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;defined&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;and&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_DEBUG&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Received&amp;#160;the&amp;#160;following&amp;#160;response:&amp;lt;/p&amp;gt;\n\n&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$response&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'print_r'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Which&amp;#160;was&amp;#160;serialized&amp;#160;into&amp;#160;the&amp;#160;following&amp;#160;data:&amp;lt;/p&amp;gt;\n\n&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'print_r'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(isset(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'methodResponse'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'fault'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;])){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&amp;#160;array(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_adjustValue&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'methodResponse'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'fault'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'value'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;defined&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;and&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_DEBUG&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Returning:&amp;lt;/p&amp;gt;\n\n&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'var_dump'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;return&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}else{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;array(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_adjustValue&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'methodResponse'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'params'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'param'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'value'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;]));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;defined&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_DEBUG'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;and&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_DEBUG&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_debug&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'XMLRPC_request'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;&amp;lt;p&amp;gt;Returning:&amp;lt;/p&amp;gt;\n\n&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;XMLRPC_show&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'var_dump'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;return&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$return&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;p class=&quot;st-markup&quot;&gt;It works for me &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt; Just use $site with things like &lt;a href=&quot;https://mysite.com&quot;&gt;https://mysite.com&lt;/a&gt; or &lt;a href=&quot;tls://mysite.com&quot;&gt;tls://mysite.com&lt;/a&gt; or even &lt;a href=&quot;ftp://mysite.com&quot;&gt;ftp://mysite.com&lt;/a&gt; &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Of course, I cannot tell how much of a performance hit this is, compared to other libraries doing XML-RPC (PEAR, XML-RPC EPI, etc.), although CURL is at least implemented in C... The beauty of this is having everything working flawlessly, and since CURL supports so many different protocols, at least one can use your library with &lt;em&gt;all&lt;/em&gt; of them &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;Thanks for your wonderful library!&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;   - Gwyn&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Shami</title>
			<link>http://keithdevens.com/weblog/archive/2002/Oct/21/XML-RPCVersion3.0#comment11427</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/2945#comment11427</guid>
			<pubDate>Fri, 16 Oct 2009 11:05:04 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;This is classic asp script will allow you to monitor your current local weather via a Weather.com XML feed.&lt;br /&gt;
It parses the XML data and then outputs formatted HTML. You need to acquire a Partner ID and License Key from Weather.com.&lt;br /&gt;
This service is completely free, and they only want your email. Visit this URL to sign up. &lt;/p&gt;

</description>
		</item>
	</channel>
</rss>
