Re: byte[] to PHP-string conversion RESOLVED
Marcel Ruff <[email protected]> Fri, 18 Jul 2008 10:14:20 +0200
| Newsgroups | gmane.comp.php.xml-rpc |
|---|---|
| Message-ID | <[email protected]> |
Thanks for the details.
What do you mean by 'xmlrpc extension' versus 'phpxmlrpc library'?
Isn't everything phpxmlrpc? Are there two implementations in parallel?
Thanks
Marcel
Gaetano Giunta wrote:
> Marcel Ruff a =E9crit :
>> Hi again,
>>
>> changing the code to
>>
>> $res =3D php_xmlrpc_decode( $result->value() );
>>
>> // instead of
>> // $res =3D xmlrpc_decode( $result->serialize() );
>>
>> resolved it (i have not investigated further to understand it),
> The function xmlrpc_decode is from the php xmlrpc extension
> The function php_xmlrpc_decode is from the phpxmlrpc library
>
> Both server the same purpose, ie creating xmlrpc servers and clients=20
> in php, but they should generally not be mixed up. As a general=20
> guideline, the extension is much faster, but the library is more=20
> complete.
>
> Bye
> Gaetano
>>
>> regards
>> Marcel
>>
>>
>> Marcel Ruff wrote:
>>> Hi,
>>>
>>> i have a Java xmlrpc server which returns an array of triples
>>> {
>>> String key
>>> byte[] content
>>> String qos
>>> }
>>>
>>> When i call it with phpxmlrpc i get:
>>>
>>> <methodResponse>
>>> <params>
>>> <param>
>>> <value>
>>> <array>
>>> <data>
>>> <value>
>>> <array>
>>> <data>
>>> <value><string>Hello</string></value>
>>> <value><base64>MzQz</base64></value>
>>> <value><string><qos/></string></value>
>>> </data>
>>> </array>
>>> </value>
>>> </data>
>>> </array>
>>> </value>
>>> </param>
>>> </params>
>>> </methodResponse>
>>>
>>> Now my problem:
>>>
>>> I can read in PHP the two strings without problem
>>> but how can i read the binary data (encoded with base64)?
>>>
>>> $result =3D $this->client->send( $rpcmsg );
>>> $res_array =3D xmlrpc_decode( $result->serialize() );
>>> $messages =3D array( count($res_array) ) ;
>>> $cpt =3D 0 ;
>>> foreach( $res_array as $r ){
>>> dbgprint( "OK: [$r[0]]" );
>>> // $r[1] from <value><base64>MTg4Mw=3D=3D</base64></value>
>>> // THIS FAILS:
>>> dbgprint( "binary data: $r[1]" );
>>> }
>>>
>>> Error thrown:
>>> ----> Object of class stdClass could not be converted to string in ..=
.
>>>
>>> But $r[1] should contain the text "Hi".
>>>
>>> What am i missing?
>>>
>>> Thanks
>>> Marcel
>>>
>>>
>>> _______________________________________________
>>> phpxmlrpc mailing list
>>> [email protected]
>>> http://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc
>>>
>>
>> _______________________________________________
>> phpxmlrpc mailing list
>> [email protected]
>> http://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc
>>
>
>
--=20
Marcel Ruff
http://www.xmlBlaster.org
http://watchee.net
Phone: +49 7551 309371