[phpxmlrpc] byte[] to PHP-string conversion RESOLVED

Marcel Ruff mr at marcelruff.info
Thu Jul 17 18:12:06 BST 2008


Hi again,

changing the code to

                $res = php_xmlrpc_decode( $result->value() );

// instead of
// $res = xmlrpc_decode( $result->serialize() );

resolved it (i have not investigated further to understand it),

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>&lt;qos/&gt;</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 = $this->client->send( $rpcmsg );
> $res_array = xmlrpc_decode( $result->serialize() );
> $messages = array( count($res_array) ) ;
> $cpt = 0 ;
> foreach( $res_array as $r ){
>   dbgprint( "OK: [$r[0]]" );
>   // $r[1] from <value><base64>MTg4Mw==</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
> phpxmlrpc at lists.usefulinc.com
> http://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc
>



More information about the phpxmlrpc mailing list