SOAP: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
RolloBot (discussione | contributi)
m Bot: Sostituzione automatica (-Hyper Text Transfer Protocol +Hypertext Transfer Protocol)
Riga 54: Riga 54:
* {{cita web|http://soap2corba.sourceforge.net/|ponte bidirezionale fra SOAP e CORBA|lingua=en}}
* {{cita web|http://soap2corba.sourceforge.net/|ponte bidirezionale fra SOAP e CORBA|lingua=en}}
* {{en}}[https://bugzilla.mozilla.org/show_bug.cgi?id=332174 Bugzilla Bug 332174 – Drop SOAP support] Mozilla elimina SOAP in Firefox Gran Paradiso Alpha 7.
* {{en}}[https://bugzilla.mozilla.org/show_bug.cgi?id=332174 Bugzilla Bug 332174 – Drop SOAP support] Mozilla elimina SOAP in Firefox Gran Paradiso Alpha 7.
* {{en}}[https://jsonformatter.org/xml-formatter SOAP Formatter] Validate and Format SOAP


{{Portale|internet|telematica}}
{{Portale|internet|telematica}}

Versione delle 04:24, 15 lug 2018

Disambiguazione – Se stai cercando altri significati, vedi Soap.
Struttura SOAP

In informatica SOAP (inizialmente acronimo di Simple Object Access Protocol) è un protocollo per lo scambio di messaggi tra componenti software, tipicamente nella forma di componentistica software. La parola object manifesta che l'uso del protocollo dovrebbe effettuarsi secondo il paradigma della programmazione orientata agli oggetti.

Descrizione

SOAP è la struttura operativa (framework) estensibile e decentralizzata che può operare sopra varie pile protocollari per reti di computer fornendo tramite messaggi richieste di procedure remote. I richiami di procedure remote possono essere infatti modellati come interazione di parecchi messaggi SOAP. SOAP dunque è uno dei protocolli che abilitano i servizi Web.

SOAP può operare su differenti protocolli di rete, ma HTTP è il più comunemente utilizzato e l'unico ad essere stato standardizzato dal W3C, su cui è incapsulato (embedded) il relativo messaggio. SOAP si basa sul metalinguaggio XML e la sua struttura segue la configurazione Head-Body, analogamente ad HTML. Il segmento opzionale Header contiene meta-informazioni come quelle che riguardano il routing, la sicurezza, le transazioni e parametri per l'Orchestration. Il segmento obbligatorio Body trasporta il contenuto informativo e talora viene detto carico utile, o payload. Questo deve seguire uno schema definito dal linguaggio XML Schema. SOAP può essere utilizzato in due modi diversi per una chiamata:

  • Richiesta via SOAP di parametri: il client controlla nel Service Registry l'oggetto d'interesse e sviluppa il messaggio secondo i parametri contenuti nel Service Registry.
  • General Purpose Messaging: un programmatore può sviluppare un suo protocollo privato, il client conosce a priori i parametri e non necessita di consultare il service registry. All'interno del body del messaggio inserisco i dati scritti nel formato concordato con lo sviluppatore.

Esempi di messaggi SOAP

Come primo esempio, mostriamo come un Client può formattare un messaggio SOAP per richiedere informazioni su un prodotto da un immaginario Web Service che simula un magazzino.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getProductDetails xmlns="http://magazzino.example.com/ws">
      <productId>827635</productId>
    </getProductDetails>
  </soap:Body>
</soap:Envelope>

Quello che segue è il testo con il quale il 'warehouse' web service potrebbe inviare il suo messaggio di risposta con le informazioni richieste.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getProductDetailsResponse xmlns="http://magazzino.example.com/ws">
      <getProductDetailsResult>
        <productName>Toptimate, set da 3 pezzi</productName>
        <productId>827635</productId>
        <description>Set di valigie; 3 pezzi; poliestere; nero.</description>
        <price>96.50</price>
        <inStock>true</inStock>
      </getProductDetailsResult>
    </getProductDetailsResponse>
  </soap:Body>
</soap:Envelope>

Voci correlate

Collegamenti esterni