1

私はこのようにJBoss Webサービスがあります。私はカスタム401エラー(JBoss版)

<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> 

:間違った資格情報は、次のエラーを取得 - 私と私は、このWebサービスを呼び出すと

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

をこの401応答をカスタム化する方法があるかどうかを知りたいですか?

私のwebserviceは正常に動作することに注意してください(私の問題はこのカスタマイズでのみです)。

ありがとうございます。

+0

私は、このリンクのふりをしたものと非常によく似たものを見つけました:https://community.jboss.org/thread/80628?tstart=0 ...これはJBoss(ネイティブ)Webサービスでは動作しません。 – JMarques

答えて

1

Webサービスでは、JBoss Webコンポーネントを使用してユーザー名とパスワードを認証します(基本認証を使用)。 (私はJBoss-ESBを使用しています)

この動機のために、\ jboss-esb \ server \\ deploy \ jbossweb.sarのこのjar(jbossweb.jar)を変更する必要があります。

"ServerInfo.properties"(org \ apache \ catalina \ util内)のファイルを編集し、 "server.info = 2.1.3.GA"プロパティを "server.info = XPTO"に変更する必要があります。

また、このjarを再構築して、@ VERSION @タグをXPTOに置き換えることもできます(Antのタスクでは、私は信じています)。

この分析中に、BasicAuthenticatorの実装の可能性も確認されました。したがって、エラーメッセージ(401)をより構成可能にするように構成することが可能であり(最終的に他のエラーを返すことができる)。

これを行うには、\のJBoss ESB-\サーバー\\デプロイヤ\ jbossweb.deployer \ META-INFに(ファイルの-のjboss-beans.xmlの戦争 - デプロイヤ構成

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

を変更する必要があります)。