Koodivinkki #1: SOAP WS-Security header PHP:llä

WS-Security on standardi tapa autentikoida SOAP-viestejä. Käyttäjätunnus ja salasana kulkee mukana SOAP-viestin headerissa.

Tämä esimerkki näyttää miten se tehdään PHP:llä.


$username = 'user';
$password  = 'pass';

$ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd';

$credentials = new stdClass();
$credentials->Username = new SoapVar($username, XSD_STRING, null, null, null, $ns);
$credentials->Password = new SoapVar($password, XSD_STRING, null, null, null, $ns);

$wssec = new stdClass();
$wssec->UsernameToken = new SoapVar($credentials, SOAP_ENC_OBJECT, null, null, null, $ns);

$header = new SoapHeader($ns, 'Security', $wssec, true);
$client->__setSoapHeaders($header);
$client->echo("Hello!");

Toivottavasti tästä on apua jollekkin.

Tags: ,

Leave a Reply