В моем WebService мне нужно записать идентификатор вызывающего абонента, но wsContext.getUserPrincipal() возвращает значение null, даже если пользователь был аутентифицирован с использованием WS-Security с аутентификацией пароля. Согласно JavaDocs для JAX-WS 2.1 WSContext.getUserPrincipal() должен возвращать только null, если пользователь не прошел аутентификацию.
Нужно ли мне что-то делать в обработчике безопасности, чтобы установить принципала пользователя в WSContext? Документы, похоже, указывают, что это делается автоматически.
Я использую стек metro 1.1 (я думаю, 1.1.5) с jax-ws 2.1.3 стеком на Tomcat.