Voor de integratie van het LIS hermes-consult (pathhub.be) met CoZo (cozo.be) was het nodig een API aan te bieden d.m.v. SOAP. Omdat ons LIS geïmplementeerd is met PHP als backend-taal, is dit niet onmiddellijk beschikbaar. Daarom hebben we ervoor gekozen een eenvoudige implementatie te voorzien voor de HTTP-POST binding van SOAP.
SOAPAction
Aan de hand van de HTTP-header SOAPAction wordt de intentie van de actie aangeduid. Deze actie gebruiken we om in de server het verloop van de afhandeling te bepalen.
SOAPAction: "http://tempuri.org/GZOService/GZOService/THE_ACTION"
In deze implementatie halen we de actie ‘THE_ACTION’ uit de meegeleverde header.
<?php
function soapAction(Request $request)
{
$soapAction = $request->header('SOAPAction');
return substr($soapAction, strrpos($soapAction, '/') + 1, -1);
}
?>
Inhoud
De eigenlijke inhoud van het bericht is een XML-string die als body van de POST-request wordt meegegeven.
<?php
$xmlString= $request->getContent();
$xml = new \DOMDocument();
$xml->loadXML($xmlString);
?>
wordt vervolgd…