PHP Soap and WS-Security, нужна подходящая библиотека

ipartemk

Новичок
PHP Soap and WS-Security, нужна подходящая библиотека

Коллеги, столкнулся с проблемой написания клиента Soap с использованием WS-Security.
Найти внятную информацию в гугле не удалось, поэтому прошу помочь вас.
Если кто-то уже делал такое, поделитесь примером простенького клиента. Обращаю внимание на WS-Security
 

MiRacLe

просто Чудо
PHP:
<?php
{
    $soapclient = new SoapClient($SOAP_URL);
    $nonce = uniqid();
    $datetime = new DateTime('now',new DateTimeZone('UTC'));
    $created = $datetime->format('Y-m-d\TH:i:s\Z');

    $authheader = sprintf('
        <wsse:Security  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
            <wsse:Username>%s</wsse:Username>
            <wsse:Password Type="wsse:PasswordDigest">%s</wsse:Password>
            <wsse:Nonce>%s</wsse:Nonce>
            <wsu:Created>%s</wsu:Created>
            </wsse:UsernameToken>
        </wsse:Security>',
        htmlspecialchars($USERNAME),
        base64_encode(sha1($nonce.$created.$PASSWORD,true)),
        base64_encode($nonce),
        $created
    );

    $wsse_header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", new SoapVar($authheader,XSD_ANYXML));

   $result = $soapclient->__soapCall($SOAP_ACTION, $SOAP_PARAMS, NULL, $wsse_header);

}
 

ipartemk

Новичок
Спасибо за ответ, к сожалению не сработало. Конечно возможно причина в сервере.
А может кто-то знает готовую библиотеку, что бы не строить wsse заголовки руками?
 
Сверху