Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 3.44 KB

SOAP.md

File metadata and controls

77 lines (54 loc) · 3.44 KB

SOAP

A SOAP (Simple Object Access Protocol) egy XML-alapú protokoll, amelyet webszolgáltatások hálózaton keresztüli kommunikációjához terveztek. A SOAP lehetővé teszi különböző programozási nyelveken írt és különböző platformokon futó alkalmazások közötti adatcserét és kommunikációt.

Főbb jellemzők

  • XML-alapú: A SOAP üzenetek XML formátumúak, ami biztosítja a platformfüggetlenséget.
  • HTTP protokoll: Általában HTTP-n keresztül működik, ami lehetővé teszi a webes alkalmazásokkal való könnyű integrációt.
  • Szabványosított: A W3C konzorcium tartja karban és ajánlja használatát.
  • Platformfüggetlen: Különböző operációs rendszereken és programozási nyelveken használható.

SOAP üzenet felépítése

Egy SOAP üzenet a következő fő elemekből áll:

  • Envelope: Az üzenet gyökéreleme, amely az egész SOAP üzenetet tartalmazza.
  • Header: Opcionális elem, amely további információkat tartalmazhat, például hitelesítési adatokat.
  • Body: Az üzenet fő tartalma, amely a tényleges adatokat hordozza.
  • Fault: Opcionális elem, amely hibaüzeneteket tartalmazhat.

SOAP működése

A SOAP a kérés-válasz modellt követi:

  1. A kliens alkalmazás SOAP üzenetet küld a szervernek.
  2. A szerver feldolgozza az üzenetet.
  3. A szerver SOAP üzenetben válaszol a kliensnek.

A SOAP segítségével különböző rendszerek közötti kommunikáció egyszerűbbé és szabványosabbá válik, lehetővé téve a hatékony adatcserét heterogén környezetekben is.

SOAP hívás a gyakorlatban

Az alábbi példában egy SOAP hívás történik PHP-ban:

<?php

// SOAP kliens létrehozása
$wsdl = 'https://example.com/szolgaltatas.wsdl';
$kliens = new SoapClient($wsdl, array('trace' => 1));

try {
    // SOAP metódus hívása
    $eredmeny = $kliens->metodusNev(array(
        'parameter1' => 'ertek1',
        'parameter2' => 'ertek2'
    ));

    // Eredmény kiíratása
    print_r($eredmeny);

    // Kérés és válasz megjelenítése (opcionális)
    echo "SOAP Kérés:\n" . $kliens->__getLastRequest() . "\n";
    echo "SOAP Válasz:\n" . $kliens->__getLastResponse() . "\n";

} catch (SoapFault $e) {
    // Hiba kezelése
    echo "SOAP Hiba: " . $e->getMessage();
}

Ebben a példában:

  1. Létrehozunk egy SOAP klienst a SoapClient osztály segítségével. A $wsdl változóban megadjuk a webszolgáltatás WSDL (Web Services Description Language) fájljának URL-jét.
  2. A try-catch blokkon belül meghívjuk a webszolgáltatás egy metódusát (metodusNev) és átadjuk a szükséges paramétereket.
  3. Az eredményt kiíratjuk a print_r() függvénnyel.
  4. Opcionálisan megjelenítjük a teljes SOAP kérést és választ a __getLastRequest() és __getLastResponse() metódusokkal.
  5. Hiba esetén a catch blokkban kezeljük a SoapFault kivételt és kiírjuk a hibaüzenetet.

Néhány fontos megjegyzés:

  • A 'trace' => 1 beállítás lehetővé teszi a kérés és válasz nyomkövetését.
  • A metodusNev és a paraméterek nevei (parameter1, parameter2) a konkrét webszolgáltatástól függően változhatnak.
  • Éles környezetben mindig használjunk hibakezelést és naplózást.
  • Biztonságos kapcsolathoz (HTTPS) további beállításokra lehet szükség.

Ez a példa egy alapvető SOAP hívást mutat be PHP-ban, de a tényleges implementáció a használt webszolgáltatás specifikációjától függ.