1

У меня есть JBoss WebService вроде этого:Пользовательские 401 Ошибка на WebServices (JBoss)

@Stateless 
@SecurityDomain("SecurityDomain") 
@RolesAllowed("RolesAllowed") 
@WebContext(urlPattern = "/*", authMethod = "BASIC", secureWSDLAccess = true) 
@EndpointConfig(configName = "Standard WSSecurity Endpoint") 
@WebService(name = "WebServiceName", targetNamespace = "http://webserviceName") 

Когда я ссылаться на этот вебсервис с неправильными учетными i'm получаю следующее сообщение об ошибке:

<html> 
<head> 
<title>JBoss Web/2.1.3.GA - Error report</title> 
<style> 
<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font- size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font- size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} 
B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font- family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} 
A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head> 
<body><h1>HTTP Status 401 - </h1><HR size="1" noshade="noshade"> 
<p><b>type</b> Status report</p> 
<p><b>message</b> <u></u></p> 
<p><b>description</b> <u>This request requires HTTP authentication().</u></p> 
<HR size="1" noshade="noshade"><h3>JBoss Web/2.1.3.GA</h3> 
</body> 
</html> 

I хотел бы знать, есть ли способ настроить этот ответ 401?

Обратите внимание, что мой веб-сервис работает нормально (моя проблема заключается только в этой настройке).

Большое спасибо.

+0

Я нашел что-то очень похожее на то, что я притворяюсь в этой ссылке: https://community.jboss.org/thread/80628?tstart=0 ... но это не работает на JBoss (Native) webservices .. – JMarques

ответ

1

Веб-сервис использует веб-компонент JBoss для аутентификации имени пользователя и пароля (с базовой аутентификацией). (Обратите внимание, что я использую JBoss-ESB)

Для этого мотива, мы должны изменить эту банку (jbossweb.jar) в \ jboss-esb \ server \\ deploy \ jbossweb.sar.

Мы должны отредактировать файл «ServerInfo.properties» (в org \ apache \ catalina \ util) и изменить свойство «server.info = 2.1.3.GA» на «server.info = XPTO».

В качестве альтернативы, также возможно перестроить эту банку и заменить тег @ VERSION @ на XPTO (в задаче Ant, я считаю).

В ходе этого анализа также была определена возможная реализация нашего BasicAuthenticator. Таким образом, можно настроить сообщение об ошибке (401), чтобы сделать его более настраиваемым (в конечном итоге мы можем вернуть другую ошибку).

Чтобы сделать это, необходимо изменить конфигурацию

<property name="authenticators"> 
<..> 
<key>BASIC</key> 
<value> MyClass </value> 

в файле войны-за развертывание-JBoss-beans.xml (в \ JBoss-ESB \ сервер \\ \ jbossweb.deployer за развертывание \ META-INF).

Смежные вопросы