[phpxmlrpc] byte[] to PHP-string conversion

Marcel Ruff mr at marcelruff.info
Thu Jul 17 16:00:18 BST 2008


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




More information about the phpxmlrpc mailing list