PHP (Laravel) SOAP вызов с хранилищем ключей - PullRequest
0 голосов
/ 23 декабря 2019

Я пытаюсь сделать SOAP-вызов с исходящим «WSS». Это первый раз, когда я работаю с вызовами SOAP, и мне нужно сделать запрос к службе SOAP правительства Бельгии.

Теперь у меня есть вызов, работающий в SoapUI, но вызов PHP является своего родасложная часть ....

В SoapUI я создал хранилище ключей с защищенным паролем файлом .p12. У этого также есть outgoing WS-Security configuration, названный X.509. Эта конфигурация имеет 2 записи WSS, одну метку времени и одну подпись со следующими свойствами:

enter image description here

Теперь мне нужно преобразовать это в код PHP, предпочтительнее используябиблиотека GuzzleHTTP, но если есть еще одна (лучше?) библиотека, я бы хотел это знать.

В запросе используется базовая аутентификация, пароль или имя пользователя не заполнены, но есть исходящий. Выбранная конфигурация WSS называется X.509.

Код PHP, который я сейчас пробовал, выглядит следующим образом:

$xml = '<XML_REQUEST_CONTENT>';
$params = [
    'headers' => [
        'Content-Type' => 'text/xml; charset=UTF8',
    ],
    'keep_alive' => true,
    'trace' => true,
    'local_cert' => storage_path('app/checkinatwork/keystore.p12'),
    'passphrase' => '<PASSWORD_FOR_THE_p12_FILE>',
];
$client = new Client();
$req = new Request('POST', 'https://...', $params, $xml);
$resp = $client->send($req);

return $resp->getBody()->getContents();

Я понятия не имею, как аутентифицировать запрос ...

У меня также есть .pem en файл .crt, который находится в хранилище ключей ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...