Ciao a tutti,
Non riesco proprio a capire una cosa....
In tutte le guide che ho letto vedo che il protocollo soap è formato da un envelope, header e body.
Ho creato un server e client "muletto" per i miei test
Richiamando la pagina dal browser client per fare la chiamata (aprendo lo strumento di sviluppo F12)
nella label "Contenuto Risposta" vedo solo l'array che segue.
Sinceramente non so riesco a capire se quello che io invio dal server al client sia una risposta aderente agli standard soap.
Mi pare di capire che la classe SOAP di php reinterpreti xml che arriva estrpolandomi correttamete tutte le informazioni e restituendomi solo i dati puri ovvero l'array.
Anche guardando le infomazioni "Contenuto Richiesta" io non vedo assolutamente niente.
E' corretto quello che sto facendo?
Oltretutto come posso recuperare le info spedite dal client al mio server?
Codice PHP:
Array
(
[0] => Array
(
[idintervento] => i01
[descrizione] => pippo
[AllegatoC] => Array
(
[idintervento] => i01
[a1] => 1.22
)
)
[1] => Array
(
[idintervento] => 102
[descrizione] => pluto
[AllegatoC] => Array
(
[idintervento] => i01
[a1] => 1.23
)
)
)
SERVER :
Codice PHP:
function GetIntNoSync(){
$allegato_c1=array( 'idintervento' => 'i01', 'a1' => '1.22');
$allegato_c2=array( 'idintervento' => 'i01', 'a1' => '1.23');
$result = array();
$result[] = array( 'idintervento' => 'i01', 'descrizione' => 'pippo', 'AllegatoC' => $allegato_c1);
$result[] = array( 'idintervento' => '102', 'descrizione' => 'pluto', 'AllegatoC' => $allegato_c2);
return $result;
}
$server = new SoapServer(null, array('uri' => "http://1.1.1.1:10080/test/"));
$server->addFunction("GetIntNoSync");
$server->handle();
CLIENT
Codice PHP:
try{
$url="http://1.1.1.1:10080/test/web_service.php";
$client=new SoapClient($url);
$response = $client->getIntNotSync();
print_r( $response );
} catch (Exception $e) {
echo "Error : ".$e->getMessage(); }