Den service-bw-SOAP-Webdienst von PHP aus aufrufen

Vor Kurzem waren wir in der glücklichen Lage, dass wir auf das Portal von service-bw.de programmatisch via SOAP/WSDL zugreifen durften.

In .NET war das dank dem automatischen Proxy-Generierungs-Werkzeug von Visual Studio.NET 2008 sehr einfach.

In PHP war es etwas trickreicher. Danke viel Ausprobieren und vor allem dank diesem Posting konnten wir es lösen.

Um ein Bisschen was „ins Internet“ zurückzugeben, stelle ich nachfolgend zwei kurze Beispiele vor.

Beispiel 1, Aufruf der SOAP-Funktion getLebenslageTree()

Folgendes Beispiel ruft eine Funktion des Lebenslagen-Webdienst auf. Es wird gezeigt wie mehrere Parameter die auch komplexe Typen enthalten, korrekt übergeben werden.

$client = new SoapClient(
    'https://www.service-bw.de/zfinder-core-ws/lebenslage?wsdl');

$profilData = new stdClass();
$profilData->ags = "0";
$profilData->plz = "0";
$profilData->sprache = "deu";
$profilData->kategorienUndVerknuepfung = false;

$pkey = new stdClass();
$pkey->id = 93256;
$pkey->mandantenId = 0;
$pkey->sprachId = "deu";

$param = new stdClass();
$param->lebenslageKey = $pkey;
$param->kategorieIds = array(783160, 783161);
$param->mandantenIds = array(0);
$param->operatorAnd = false;
$param->profilData = $profilData;

$result = $client->getLebenslageTree($param);

Der folgende Download enthält den vollständigen Quelltext des Beispiels:

Download Beispiel 1

Beispiel 2, Aufruf der SOAP-Funktion getStichwoerterAndSynonymeByNamePrefix()

In diesem Beispiel wird eine Funktion des Stichwort-Webdienst aufgerufen. Es werden erneut komplexe Parameter, inklusive Felder („Arrays“) an die Funktion übergeben.

$client = new SoapClient(
    'https://www.service-bw.de/zfinder-core-ws/stichwort?wsdl');

$searchParameters = new stdClass();
$searchParameters->alphaBlockModus = false;
$searchParameters->hitRestriction = false;
$searchParameters->numberOfHits = 100;
$searchParameters->regionIds = array(0);
$searchParameters->mandantenIds = array(0);
$searchParameters->sprachId = "deu";
$searchParameters->value = "A";

$profilData = new stdClass();
$profilData->ags = "0";
$profilData->plz = "0";
$profilData->sprache = "deu";
$profilData->kategorienUndVerknuepfung = false;

$param = new stdClass();
$param->searchParameters = $searchParameters;
$param->profilData = $profilData;

$result = $client->getStichwoerterAndSynonymeByNamePrefix($param);

Der folgende Download enthält wiederum den vollständigen Quelltext des Beispiels:

Download Beispiel 2

Ich wünsche allen Entwicklern viel Erfolg und freue mich, falls ich ein Bisschen weiterhelfen kann! Rückmeldung wie immer willkommen 🙂

2 Gedanken zu „Den service-bw-SOAP-Webdienst von PHP aus aufrufen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.