1

私はこのようなjbossWebサービスを持っています:

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

間違ったクレデンシャルでこのWebサービスを呼び出すと、次のエラーが発生します。

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

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

私のWebサービスが正常に機能していることに注意してください(私の問題はこのカスタマイズにのみあります)。

どうもありがとう。

4

1 に答える 1

1

WebサービスはJBossWebコンポーネントを使用して、ユーザー名とパスワードを認証します(基本認証を使用)。(私は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)を構成して、より構成可能にすることができます(最終的には他のエラーを返すことができます)。

これを行うには、構成を変更する必要があります

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

ファイルwar-deployers-jboss-beans.xml(\ jboss-esb \ server \\ deployers \ jbossweb.deployer \ META-INF)。

于 2012-05-03T17:43:29.330 に答える