Categories: GuidaProgrammazione

Comunicazioni XML con il Protocollo SOAP

Con la crescente diffusione del web si sente maggiormente la necessità di creare applicazioni distribuite tra diversi sistemi operativi, con differenti linguaggi di programmazione e la presenza di firewall nelle reti. SOAP ( Simple Object Access Protocol ) si propone di superare questi problemi attraverso dei messaggi XML trasportati attraverso il protocollo HTTP. L’invocazione di un servizio remoto prevede la creazione di un particolare tipo di documento XML con l’impostazione di opportuni header HTTP da inviare ad un server web. Il fatto che XML viaggi su protocollo HTTP comporta tutta una serie di benefici, a cominciare dalla mancanza di barriere come i firewall che di solito non bloccano il traffico web, inoltre queste tecnologie sono universalmente riconosciute come standard da molti sistemi operativi eterogenei tra loro, ecco perché tramite SOAP è possibile esporre qualsiasi tipo di servizio.
Il protocollo SOAP prevede due tipi di messaggi: Call e Response. Il primo consente l’invocazione di un servizio remoto attraverso delle opportune intestazioni HTTP in cui si specificano le informazioni sul destinatario e sul servizio invocato, mentre il corpo in XML contiene dei parametri da passare al server. Un tipico messaggio di questo tipo potrebbe essere:

POST /XXXServer HTTP/1.1
Host: www.XXXX.com
Content-Type: text/xml
Content-Length: n
SOAPAction: www.XXXX.com/ordini.php

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="xxxxxxx/>
 <SOAP-ENV:Body>
  <m:ordina xmlns:m="xxxxxx">
   <Titolo>Articolo X</Titolo>
   <Codice>Cod XXXX</Codice>
  </m:ordina>
 </SOAP-ENV:Body>
<SOAP-ENV:Envelope>

La parte iniziale del messaggio raggruppa le intestazioni HTTP che specificano il server da contattare ed il servizio da richiamare, nel documento XML abbiamo invece i parametri relativi per usufruire del servizio.
Una possibile risposta ( response ) che si può avere da una tale richiesta può essere:

HTTP/1.1 200 OK
Content-Type: text/xml
Content-Length: n

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="xxxxxxx/>
 <SOAP-ENV:Body>
   <return>24,65 euro</return>
 </SOAP-ENV:Body>
<SOAP-ENV:Envelope>

Questo servizio in pratica recupera i dati da un archivio e mostra il prezzo dell’articolo. Lo scopo principale di SOAP è quindi quello di delineare un protocollo per l’interoperabilità di applicazioni distribuite realizzate con diverse tecnologie. Se lo desiderate potremmo, in futuro, approfondire l’argomento, per il momento guardatevi la pagina del progetto SOAP per il server web Apache.

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago