Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309

    xmlrpc - passaggio di array a un ws

    Ciao
    ormai è circa 1 settimana che sto cercando di approfondire i ws in php e nn riesco a capire come mai quando cerco di passare un array proprio nn ne vuole sapere.
    Il server è : http://phpxmlrpc.sourceforge.net/server.php
    Di seguito il codice:
    codice:
    //chiamata a un metodo che vuole un int. questo funziona
    $par2 = new xmlrpcval(23, "int");
    $msg1 = new xmlrpcmsg("examples.getStateName", array($par2));
    $con = new xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80);
    $risposta = $con->send($msg1);
    echo "dopo send 
    ";
    echo $risposta->faultCode()."
    ";
    if(!$risposta->faultCode()){
    	$v2 = $risposta->value();
    	$result = $v2->scalarval(); // non funzionerebbe con array!
    	print "Città: " . htmlspecialchars($result);
    }
    else{
    	print "An error occurred:\n";
    	print " Code: " . htmlspecialchars($risposta->faultCode())."\n";
    	print " Reason: " . htmlspecialchars($risposta->faultString());
    }
    Di seguito il codice che non funziona:

    codice:
    $obj = new xmlrpcval(array("aaa"=>new xmlrpcval(35, "int"),"bbb"=>new xmlrpcval(21,"int"),"ccc"=>new xmlrpcval(23, "int"),	"ddd"      =>new xmlrpcval(45,"int")),"a");
    $messaggioObj = new xmlrpcmsg('examples.sortByAge', array($obj));
    $clientObj = new xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80);
    $rispostaObj = $clientObj->send($messaggioObj);
    if(!$rispostaObj->faultCode()){
    	$v2 = $rispostaObj->value();
    	$result = $v2->scalarval(); // non funzionerebbe con array!
    	print "Città: " . htmlspecialchars($result);
    }
    else{
    	print "An error occurred:\n";
    	print " Code: " . htmlspecialchars($rispostaObj->faultCode())."\n";
    	print " Reason: " . htmlspecialchars($rispostaObj->faultString());
    }
    Ho provato anche in questo modo:

    codice:
    $elementi = array("aaa"=>45,"bbb"=>23,"ccc"=>32,"ddd"=>24);
    $parEncode = php_xmlrpc_encode($elementi);
    echo "
    ";
    print_r($parEncode);
    echo "
    ";
    $msgEncode = new xmlrpcmsg("examples.sortByAge", array($parEncode));
    $clientObj = new xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80);
    $rispostaObjEncode = $clientObj->send($msgEncode);
    echo " 
     mandato msgEncode 
    ";
    echo $rispostaObjEncode->faultCode() . "
    ";
    tomcat 6.016
    netbeans 6.1

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    309
    up
    tomcat 6.016
    netbeans 6.1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.