Я пытаюсь выполнить аутентификацию SOAP-запроса с использованием спецификации WS-UsernameToken, но целевое устройство всегда отказывает в доступе. Мой нерабочий запрос выглядит следующим образом. (Пароль, который я пытаюсь использовать хэш, system
.)
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
<Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<UsernameToken>
<Username>root</Username>
<Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">EVpXS/7yc/vDo+ZyIg+cc0fWdMA=</Password>
<Nonce>tKUH8ab3Rokm4t6IAlgcdg9yaEw=</Nonce>
<Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2010-08-10T10:52:42Z</Created>
</UsernameToken>
</Security>
</Header>
<Body>
<SomeRequest xmlns="http://example.ns.com/foo/bar" />
</Body>
</Envelope>
То, что я ищу, является аналогичным примером запроса, но с подлинным токеном, который действительно работает. Например, если у вас есть приложение gSOAP, которое использует этот токен, и может генерировать запрос и публиковать результат здесь, я был бы очень благодарен.