<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2800.1528" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>The 
doc and examples&nbsp;are quite clear&nbsp;(in my humble opinion) indicating 
that:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>- the 
client-&gt;send() method returns an xmlrpcresp object</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>- the 
resp-&gt;value() method returns an xmlrpcval object (of course you should check 
for the error code first, to see if there was a communication 
error)</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>- 
xmlrpcval objects&nbsp;have some methods that can be used depending on their 
type. For structs and arrays, in particular:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>&nbsp; 
+ for xmlrpcval of type array: val-&gt;arraysize(), 
val-&gt;arraymem()</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>&nbsp; 
+ for xmlrpcval of type struct:&nbsp; val-&gt;structsize(), val-&gt;structmem(), 
val-&gt;structeach(), val-&gt;structreset(), 
val-&gt;structmemexixts(),</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>- 
there is also a second method to access the data of an xmlrpcval object, 
decoding it all-at-once into plain php values: $php_values = 
php_xmlrpc_decode($xmlrpcval);</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006>here's&nbsp;a code snippet to get you 
running:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" color=#0000ff size=2><SPAN 
class=891364209-03022006>&nbsp;$f = new xmlrpcmsg('system.methodSignature', 
array(new xmlrpcval(system.methodHelp));<BR>&nbsp;$c = new 
xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80);<BR>&nbsp;$r = 
$c-&gt;send($f);<BR>&nbsp;if(!$r-&gt;faultCode())<BR>&nbsp;{<BR>&nbsp;&nbsp;$v = 
php_xmlrpc_decode($r-&gt;value());</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" color=#0000ff size=2><SPAN 
class=891364209-03022006>&nbsp; var_dump($v); // this will&nbsp;echo a standard 
php array. You can access it as you prefer</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" color=#0000ff size=2><SPAN 
class=891364209-03022006>&nbsp; $v = $r-&gt;value();<BR>&nbsp; $signum = 
$v-&gt;arraysize();<BR>&nbsp; for($i = 0; $i &lt; $signum; $i++)<BR>&nbsp; 
{<BR>&nbsp;&nbsp; $sig = $v-&gt;arraymem($i);<BR>&nbsp;&nbsp; $paramsnums = 
$sig-&gt;arraysize()-1;<BR>&nbsp;&nbsp; $retval = 
$sig-&gt;arraymem(0);<BR>&nbsp;&nbsp; echo "Found a signature\n&nbsp; Return 
type is: ".$retval-&gt;scalarval()."\n";<BR>&nbsp;&nbsp; for ($j = 1; $j &lt;= 
$paramsnums; $j++)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; $param = 
$sig-&gt;arraymem($j);<BR>&nbsp;&nbsp;&nbsp;&nbsp; echo "&nbsp; Param number $j 
must be of type: ".$param-&gt;scalarval()."\n";<BR>&nbsp;&nbsp; }<BR>&nbsp; 
}</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" color=#0000ff size=2><SPAN 
class=891364209-03022006><BR>&nbsp;}</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>PS: I 
think you might have a problem due to the linguistic barrier: what is your 
native language? I can answer in italian or french if you 
prefer...</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=891364209-03022006>Hope 
it helps</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006>Gaetano</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=891364209-03022006></SPAN></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> 
  phpxmlrpc-bounces@lists.usefulinc.com 
  [mailto:phpxmlrpc-bounces@lists.usefulinc.com]<B>On Behalf Of </B>Overpeer 
  ---<BR><B>Sent:</B> Friday, February 03, 2006 10:32 AM<BR><B>To:</B> 
  phpxmlrpc@lists.usefulinc.com<BR><B>Subject:</B> [phpxmlrpc] I'm Lost with 
  phpxmlrpc<BR><BR></FONT></DIV>Hello all in my first message to the 
  list.<BR><BR>I'm trying implement a simple webservice with xml-rpc, I´m make 
  the client with phpxmlrpc on Apache2 on GNU/Linux.<BR><BR>The servers, is 
  makes in Delphi and works OK, it send mi things like this:<BR><PRE><CODE>&lt;methodResponse&gt;<BR>&lt;params&gt;<BR>&lt;param&gt;<BR>&lt;value&gt;&lt;array&gt;<BR>&lt;data&gt;<BR>&lt;value&gt;&lt;struct&gt;<BR>&lt;member&gt;&lt;name&gt;ITI&lt;/name&gt;<BR>&lt;value&gt;&lt;string&gt;311&lt;/string&gt;&lt;/value&gt;
<BR>&lt;/member&gt;<BR>&lt;/struct&gt;&lt;/value&gt;<BR>&lt;value&gt;&lt;struct&gt;<BR>&lt;member&gt;&lt;name&gt;ITI&lt;/name&gt;<BR>&lt;value&gt;&lt;string&gt;310&lt;/string&gt;&lt;/value&gt;<BR>&lt;/member&gt;<BR>&lt;/struct&gt;&lt;/value&gt;
<BR>&lt;value&gt;&lt;struct&gt;<BR>&lt;member&gt;&lt;name&gt;ITI&lt;/name&gt;<BR>&lt;value&gt;&lt;string&gt;312&lt;/string&gt;&lt;/value&gt;<BR>&lt;/member&gt;<BR>&lt;/struct&gt;&lt;/value&gt;<BR>&lt;/data&gt;<BR>&lt;/array&gt;&lt;/value&gt;
<BR>&lt;/param&gt;<BR>&lt;/params&gt;<BR>&lt;/methodResponse&gt;</CODE></PRE>Whats 
  could be the logic structure to access the structures and arrays for procesing 
  the data?? I has read the documentation but i can't find examples with clients 
  and structures, and de commads explain don't be clear for me :|<BR><BR>A lot 
  of thanks ;)<BR></BLOCKQUOTE></BODY></HTML>