Introduction into SOAP, setting up a simple webservice with PHP SOAP

I was asked to create a simple webservice that would allow us to transfer a intranet post to an external CMS. In this post I will explain the steps you must take to set-up a simple webservice with the PHP SOAP extension.

The first step, create a simple class that we will use to request data from
We will create a class with one method that returns a string with the parameter we called it. The method will accept one parameter and will check if the value is correct.


Nothing special here, notice that we don’t throw a normal exception but return the SoapFault instead so we can handle the error clientside.

The second step, create a WSDL document

The WSDL document is a simple XML document that describes:
– the service itself
– the operations of the service
– the data types used in the service

The WSDL will describe our method getItem from our Blog service class so we can call it later on.

So how does this WSDL thing look like?

<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="Entities"
            targetNamespace="urn:blog"
            xmlns:typens="urn:blog"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
        <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:blog">
        </xsd:schema>
    </types>

    <message name="getItemResponse">
        <part name="string" type="xsd:string" />
    </message>

     <message name="getItemRequest">
        <part name="return" type="xsd:string" />
    </message>

    <portType name="blogPortType">
        <operation name="getItem">
            <documentation>Returns a simple test string</documentation>
            <input message="typens:getItemRequest" />
            <output message="typens:getItemResponse" />
        </operation>
    </portType>

    <binding name="blogBinding" type="typens:blogPortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

        <operation name="getItem">
            <soap:operation soapAction="urn:blog#getItem" style="rpc" />
            <input>
                <soap:body use="encoded" namespace="urn:blog" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </input>
            <output>
                <soap:body use="encoded" namespace="urn:blog" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
            </output>
        </operation>
        
    </binding>

    <service name="blog">
        <port name="blogPort" binding="typens:blogBinding">
            <soap:address location="http://{siteUrl}/webservice/server.php" />
        </port>
    </service>
</definitions>

As you can see the WSDL consists of different parts:

– the namespace
– the types
– messages
– ports (the porttype contains the set of operations, each operation has its own input and output messages)
– bindings (tells how to transport the requests, it describes the protocol used, just like the ports it contains the set of operations used)
– service (defines the ports that are supported by the service, its a collection of ports)

The third step, map our Blog service class to the webserver

After we have created our WSDL we can start building our server. In just a few lines we have a SOAP server up and running.

 // Init the server
$oServer = new SoapServer('blog.wsdl');

// Register the blog service class and all the methods
$oServer->setClass('BlogService');

// Rock 'n roll
$oServer->handle();

The fourth and final step, test our webservice

Its a good idea to test the webservice with a program like soapUI, it often can provide some additional information when troubleshooting. (They have a free version available on their website).

To test our webservice in PHP we can use the following code:

ini_set("soap.wsdl_cache_enabled", "0"); // Disable the wsdl cache

$oClient = new SoapClient(
				// Url to our wsdl, http://{siteUrl}/webservice/index.php?wsdl is also possible
				'{siteUrl}/webservice/blog.wsdl', 
				array(
					'trace'  => true,
					'exceptions'=> true
				));

try {
	$aResult = $oClient->getItem(4);
	var_dump($aResult);
} catch (SoapFault $e) {
	exit($e->faultstring);
}

You should see a SOAP fault, because the id number 4 we gave to the getItem function didn’t exist in our Blog service class. Change the value to 1,2,3 or 5 and you should get a nice response back.
Another pretty neat function is $oClient->__getFunctions(); it will return all the function that are available in the webservice.

This was just a short introduction to SOAP, a lot more is possible with SOAP.
Special thanks to David Zuelke for the nice SOAP introduction at the PHPbenelux conference 2010.

Example files:
Webservice.rar

Just deploy the example files on your webserver, change the {siteUrl} values in the files with your domain and call the client.php

Comments

149 responses to “Introduction into SOAP, setting up a simple webservice with PHP SOAP”

  1. binance registrirajte se Avatar

    Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.com/es-AR/register?ref=UT2YTZSU

  2. git.i2edu.net Avatar

    river palms casino laughlin nv

    References:
    https://qimley.com/@adelaberube99

  3. netent casinos deutschland Avatar

    Wenn es darum geht, den besten Software Onlineanbieter für Ihr Casinoerlebnis zu wählen, gibt es einige wichtige Kriterien, auf die Sie achten sollten. Die Wahl eines Online Casinos mit etablierten Software Onlineanbietern garantiert Ihnen nicht nur Vielfalt, sondern auch höchste Qualität und Fairness. Bei uns finden Sie alle klassischen Casino Spiele kostenlos sowie regelmäßig Neuerscheinungen von Merkur, Novomatic, Pragmatic Play und vielen weiteren Spiele Herstellern. Außerdem haben wir den besten Spieleentwicklern auf dem deutschen Casino-Markt einen eigenen Abschnitt gewidmet. Unser Ratgeber bietet hierfür eine passende Liste mit den besten Echtgeld-Games. Spieler sollen sich in Bezug auf die verschiedenen Arten wiederfinden und so eine leichtere Hand bei der Auswahl haben. Sie sollen deutschen Casino-Kunden dabei helfen, die Wahl des besten Online-Casinos in Bezug auf die eigenen Bedürfnisse festzumachen.
    Hier geben wir Ihnen einen Überblick über viele verschiedenen Slot Spiele in deutschen Online Casinos. Auf den meisten Online Spielbank Seiten stehen klar die Online-Slots und Automatenspiele wie Book of Ra und Book of Dead im Vordergrund. Top Casinos online offerieren zwar in der Regel verschiedene Casino Spiele mit echtem Geld, allerdings legen die besten Online Casino Deutschland​ ihre Schwerpunkte immer mehr auch auf unterschiedliche Bereiche. Dazu gehört in einem Casino online deutsch, dass das eingezahlte Guthaben innerhalb eines bestimmten Zeitraumes um ein Vielfaches durchgespielt worden sein muss. Dafür können einfach eine Ausweis- und eine Rechnungskopie als Nachweise im Casino online Deutschland hochgeladen werden. In vielen deutschen Casino Online DE 2025 steht für neue Spieler eine große Anzahl an Casino Zahlungsmethoden zur Verfügung.

    References:
    https://online-spielhallen.de/lex-casino-top-spielportal-in-deutschland/

  4. kostenloses startguthaben casino Avatar

    Nutzen Sie exklusive Boni und personalisierte Promotions und genießen Sie die Freiheit, jederzeit und überall zu spielen. Genießen Sie eine breite Auswahl an Slots, Tischspielen und Live-Casino-Action, alles in einem benutzerfreundlichen Format. Das Verde Casino bietet Ihnen ein herausragendes mobiles Spielerlebnis, das es Ihnen ermöglicht, Ihre Lieblingsspiele jederzeit und überall zu genießen.
    Gibt es einen Verde Casino No Deposit Bonus oder kostenlose Freispiele? Der Kundenservice, der immer eine Antwort auf unsere Fragen parat hatte, und die gut aufgestellte Spielauswahl sprechen dabei ebenso für sich. Grund hierfür sind die vielfältigen Boni, die schon mit einer geringen Mindesteinzahlung genutzt werden können. Spieler, die gerne mit einem umfangreichen und hohen Willkommensbonus durchstarten möchten, sollten sich für das Jettbet Casino entscheiden. Etwas großzügiger fällt zwar die Anzahl der Freispiele sowie des 20% Cashback Bonus im Wild Tokyo Casino aus, dafür sind jedoch die Umsatzbedingungen des 50-fachen etwas zu hoch angesetzt.

    References:
    https://online-spielhallen.de/top-neue-online-casinos-in-deutschland-nov-2025/

  5. ozan.fun Avatar

    treasure bay casino

    References:
    https://7box.de/FlZHZ

  6. ice casino registrieren Avatar

    Mit RTP-Werten von bis zu 97% ist Wunderino aktuell außerdem auf dem deutschen Markt das Online Casino mit der höchsten Auszahlungsquote. „Novoline.de ist eine der besten Anlaufstellen auf dem deutschen Markt und bietet ein Premium-Erlebnis an. Abseits davon überzeugt das Casino natürlich mit der deutschen Glücksspiel-Lizenz oder dem facettenreichen Portfolio an Spielen. Außerdem gehören Novoline, Wunderino und Lapalingo zu den besten deutschen Anbietern. Der Anbieter überzeugt im deutschen Vergleich mit dem stärksten Gesamtpaket, das für jeden Spielertypen geeignet ist.
    Diverse Slot-Turniere ermöglichen es den Spielern, sich mit anderen Casino-Enthusiasten zu messen und dabei attraktive Preise wie Bonusgelder, Freispiele oder sogar Sachpreise zu gewinnen. Die Anbieter mit deutscher Casino Lizenz sind bekannt für ihre großzügigen Casino-Promotionen, die Spieler mit aufregenden Boni und Aktionen für das beste Online Casino Deutschland belohnen. Mehr zu Echtgeld-Casino-Lizenzen und Gesetzen in der Kategorie beste deutsche Online Casinos erfahren Sie unten auf dieser Seite.

    References:
    https://online-spielhallen.de/nv-casino-bestes-online-casino-in-deutschland/

  7. casino of gold roulette Avatar

    So gut wie alle deutschen Glücksspielanbieter knüpfen an den Online Casino Bonus bestimmte Umsatzbedingungen. Häufig werden zwischen 10 und 25 Freispiele vergeben, selten auch mehr. In der Regel werden die Freispiele sofort nach der Registrierung oder nach der Verifizierung gutgeschrieben. Online Casinos nutzen Freispiele ohne Einzahlung, um neue Spieler anzuziehen und ihnen die Plattform risikofrei vorzustellen. Diese Spiele werden ausgewählt, weil sie hohe Beliebtheit, stabile Auszahlungsraten und faire Spielmechaniken bieten.
    Free Spins oder Freispiele ohne eine vorherige Einzahlung sind besonders gesucht. Die erfolgreichsten Spieler erhalten dann neben ihren Gewinnen noch Cashprämien oder Freespins als Extra-Belohnung obendrauf. Viele Casinos bieten aber auch für Gonzo’s Quest regelmäßig neue Drehungen an. Egal ob kostenlose Free Spins oder Freispiele mit Einzahlung – in beiden Versionen werden die gültigen Spielautomaten vom Online Casino vorgegeben.

    References:
    https://online-spielhallen.de/kings-casino-rozvadov-spiele-events-e1m/

  8. wie funktioniert no deposit bonus Avatar

    Natürlich müssen die Spiele geprüft und lizenziert sein, um Fairplay sicherzustellen. Vertrauenswürdige Casinos erkennst du an der gültigen Glücksspiellizenz. Knightslots ist ein Online Casino mit mittelalterlichem Design Sehr gut ist hingegen die Tatsache, dass Wildz mit einer gültigen Glücksspiellizenz der Gemeinsamen Glücksspielbehörde der Länder ausgestattet ist. Der Willkommensbonus bei Wildz ist eher etwas für Anfänger. Positiv ist die deutsche Lizenz der Gemeinsamen Glücksspielbehörde der Länder.
    Hier geben wir Ihnen einen Überblick über viele verschiedenen Slot Spiele in deutschen Online Casinos. Von Kredit- und EC-Karten über E-Wallets bis zu Instant-Banking sollten alle Vorgänge mit SSL-Verschlüsselung sicher, schnell und für Anfänger, Gelegenheitsspieler und High Roller einfach ablaufen. In vielen deutschen Casino Online DE 2025 steht für neue Spieler eine große Anzahl an Casino Zahlungsmethoden zur Verfügung. Neben dem Willkommensbonus und Reload Bonus, erhalten Spieler oft Cashback-Angebote, die in vielen Online Casinos mit deutscher Lizenz verfügbar sind.

    References:
    https://online-spielhallen.de/beste-paypal-casinos-2025-top-anbieter-einzahlen/

  9. nv casino login bonus Avatar

    Eine weitere Möglichkeit, um Boni und andere Promotionen zu erhalten, sind die Gewinnspiele und Turniere der Casinos. Die VIP- und Treueboni basieren in der Regel auf unterschiedlichen Stufen. Neben den regulären Bonusangeboten setzen die Top Casinos in Deutschland auf umfangreiche VIP- und Treueboni.
    Wild Fortune erreicht auf der Liste „die besten Online Casinos Österreich“ einen sicheren Platz im Mittelfeld. Spieleauswahl und Service, sowie die Bonusaktionen sind die Pluspunkte des Anbieters. Und eine Neuanmeldung bringt dem Neueinsteiger 100% und zusätzliche 250 Freispiele. In der Wochenmitte lauern die Freispiele, die an der Einzahlsumme gekoppelt sind.

    References:
    https://online-spielhallen.de/beste-casinos-mit-10e-bonus-ohne-einzahlung-2025/

Leave a Reply

Your email address will not be published. Required fields are marked *