Я разработал простой веб-сервис с помощью JAX-WS RT и развернул его на сервере Tomcat 6. Мне нужно аутентифицировать вызовы моей веб-службы, используя ws-security в заголовке SOAP.
Мой подход состоял в том, чтобы использовать обработчик цепочки для извлечения имени пользователя и пароля в заголовке мыла и аутентификации в моем коде. Это правильный подход или нет, и если нет, то каков правильный подход для этого?
Используя soapUI, я отправил следующий заголовок
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>test</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">test</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
с этим заголовком я получаю следующую ошибку
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<faultstring>MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood</faultstring>
<faultcode>SOAP-ENV:MustUnderstand</faultcode>
</SOAP-ENV:Fault>
Используя JAX-WS rt, как мне настроить свой веб-сервис для приема этого типа заголовка и аутентификации.