Debugging Web Service SOAP

Nell’articolo a questo link abbiamo visto come realizzare un web service utilizzando SOAP su una piattaforma PHP-Based, ora vedremo come facilitare il debugging web service SOAP utilizzando gli strumenti messi a disposizione dall’oggetto SoapClient del PHP5.
Per poter realizzare questo tutorial invito gli interessati a svolgere la precedente guida sulla realizzazione dei web service utilizzando soap.
Partendo dal precedente codice del client andate a modificare le seguenti righe:
1)ABILITAZIONE DEL TRACE
Modificate l’istruzione

$gsearch = new SoapClient('http://URLDELWSDL',array('trace' => 1));

con la seguente:

$client= new SoapClient('http://URLDELWSDL',array('trace' => 1));

2)RISPOSTA DELL’ULTIMO WEB SERVICE INVOCATO
In questo modo si possono eseguire più web services in sequenza senza avere variabili a cui assegnarli, tanto mediante il metodo __getLastResponse() della classe SoapClient sarà possibile recuperare il risultato dell’ultimo web service invocato che di solito è quello di maggior attenzione.
Per effettuare ciò modificare le righe

$result=$gsearch->getWebUrl('google');
print_r("Stampa del risultato: ".$result." <br>");

con le seguenti istruzioni

$client->getWebUrl('google');
print_r("Stampa del risultato: ".$client->__getLastResponse()." <br>");

come anticipavo in precedenza possiamo notare che ora la variabile $result non è stata instaziata.


Dopo l’ottimizzazione effettuata sul client esso si presenterà nella seguente maniera:

<?php
/**
* Client che chiede al Web service l’indirizzo internet di un motore di ricerca. 
* PHP 5 mette a disposizione l’oggetto SoapClient per definire un client.
*/
try {
	$client = new SoapClient('http://localhost/soap/base_server/search_engine.wsdl', 
             array('trace' => 1));
	$test_creazione_client = isset($client)?
             "Client creato con successo!<br>":"Errore: Il Client non è stato creato!<br>";
	echo($test_creazione_client);
	$client->getWebUrl('google');
	print_r("Stampa del risultato: ".$client->__getLastResponse()." <br>");
} catch (SoapFault $exception) {
	print_r($exception);
}
?>
Debugging Web Service SOAP ultima modidfica: 2014-12-30T19:49:02+01:00 da Gianluca Di Vincenzo
Posted in: PHP, SOA

By on 30 Dicembre 2014

Tagged: , , , , ,