PHP: effettuare una richiesta ad un web service in SOAP

SOAP (Simple Object Access Protocol) è un protocollo di comunicazione basato su XML utilizzato per lo scambio di informazioni tra diverse applicazioni web. In PHP, la libreria standard SOAP può essere utilizzata per inviare richieste a un web service.

Per inviare una richiesta SOAP, è necessario seguire i seguenti passaggi:

  1. Creare un client SOAP: Prima di poter inviare una richiesta SOAP, è necessario creare un client SOAP utilizzando la funzione PHP SoapClient(). Il client SOAP deve essere configurato con l'URL del WSDL (Web Service Description Language) del web service che si desidera utilizzare.

  2. Creare un array di parametri: La richiesta SOAP deve includere un array di parametri che specificano i dati che si desidera inviare al web service. Gli elementi dell'array devono corrispondere ai parametri definiti nella specifica WSDL del web service.

  3. Effettuare la chiamata al metodo del web service: Una volta creato il client SOAP e l'array di parametri, è possibile inviare la richiesta al web service chiamando il metodo desiderato. Il nome del metodo deve essere specificato come una stringa, mentre l'array di parametri deve essere passato come parametro alla funzione __soapCall().

  4. Gestire la risposta del web service: Il web service risponderà con una risposta SOAP contenente i dati richiesti. Per accedere ai dati, è necessario utilizzare la funzione __getLastResponse() del client SOAP, che restituirà la risposta del web service come una stringa XML.

Di seguito un esempio di codice PHP per inviare una richiesta SOAP ad un web service:


// Creare un client SOAP
$client = new SoapClient('http://example.com/webservice.wsdl');

// Creare un array di parametri
$params = [
'param1' => 'valore1',
'param2' => 'valore2'
];

// Effettuare la chiamata al metodo del web service
$result = $client->__soapCall('nomemetodo', [$params]);

// Gestire la risposta del web service
$response = $client->__getLastResponse();

In conclusione, inviare una richiesta SOAP ad un web service in PHP richiede la creazione di un client SOAP, la definizione di un array di parametri, la chiamata al metodo del web service e la gestione della risposta del web service. Seguendo questi semplici passaggi, è possibile interagire con qualsiasi web service basato su SOAP utilizzando PHP.

Torna su