Получить имя пользователя и пароль от HttpServletRequest


Мне нужно получить имя пользователя и пароль от HttpServletRequest, чтобы обработать базовую аутентификацию. У меня есть конечная точка CXF и базовый перехватчик auth. HttpServletRequest я получаю так:

public void handleMessage(Message message)            
        throws Fault {
    HttpServletRequest request = (HttpServletRequest) message.get(AbstractHTTPDestination.HTTP_REQUEST); 

}

Когда я попытался отладить код, и я вижу, что:

request.getAuthType() is null
request.getRemoteUser() is null

Имя пользователя и пароль, которые я отправляю с запросом от Soap UI. Итак, вопрос в том, как я могу получить имя пользователя и пароль из запроса?

EDIT

Заголовок выглядит так: это:

POST http://localhost:8011/GradIrelandUserRegistration HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Authorization: Basic UGF1bGl1czpQYXVsaXVzMTIz
Content-Length: 3170
Host: localhost:8011
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Они говорят, что авторизация является основной, но тогда почему вызов request.getAuthType() возвращает null?

2 2

2 ответа:

Я смог разобраться в этом сам. В Soap UI мне нужно было изменить тип аутентификации на:

Preemptive

И затем использовать:

AuthorizationPolicy policy = (AuthorizationPolicy) message.get(AuthorizationPolicy.class.getName());

Из объекта политики теперь я могу получить имя пользователя и пароль.

Это может быть полезно для вас . Я немного новичок в анализе данных SOAP, так что, если не работает, то дайте мне знать краткую проблему. . Также проверьте этот J-Query Plugin для разбора SOAP-сервисов с базой данных. проверьте это переполнение стека