変更 要求 番号
|
説明
|
問題が修正されたリリース
|
CR088670
|
ライセンス エラーを返すときに、WebLogic Server はその問題を説明する 403 ページを生成します。しかし、このメッセージのコンテンツ タイプが text/html であるべきなのに x-weblogic/internal となっていて、結果として Mozilla で「open with application or download file」というプロンプトが表示されていました。
この問題は、コンテンツ タイプを text/html に修正することで解決しました。
|
8.1 SP1
|
CR092778
|
JISAutoDetect エンコーディング (コードやコンフィグレーションを変更せずに入力ストリームとして Shift-JIS、EUC-JP、および ISO-2022-JP を受け入れるために使用) と HTTP リクエストを併用すると、以下の行で始まる UnsupportedEncodingException が送出されていました。
java.io.UnsupportedEncodingException: JISAutoDetect at sun.io.Converters.getConverterClass(Converters.java:102) at sun.io.Converters.newConverter(Converters.java:133) at sun.io.CharToByteConverter.getConverter(CharToByteConverter.java:62) at weblogic.servlet.internal.ServletRequestImpl.setCharacterEncoding(ServletRequestImpl.java:344)
...
この問題は、JSP またはサーブレットが request.setCharacterEncoding("JISAutoDetect") を呼び出したときに発生していました。
この問題は、ServletRequestImpl.java が sun.io.ByteToCharConverter ではなく sun.io.CharToByteConverter を使用していたことが原因で発生していました。CharToByteConverter は出力コンバータ用で、JISAutoDetect は入力ストリームでのみ利用できます。
この問題は、JISAutoDetect を受け入れる ByteToCharConverter に変更することで解決しました。
|
6.1 SP5
8.1 SP1
|
CR093209
|
新しい WebLogic Server で、プロパティが java プロトコルに設定されている正常にデプロイされた Web アプリケーションがアクセスされたときに NullPointerException が送出されていました。ブラウザからは、Error 500--Internal Server Error が返されていました。この問題は、アップグレード インストールでは発生しませんでした。
<Dec 16, 2002 11:59:05 AM PST> <Error> <HTTP> <[WebAppServletContext(2092664,sampleApp,/sampleApp)] Servlet failed with Exception java.lang.NullPointerException at weblogic.servlet.JSPServlet.service(JSPServlet.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCon ext.java:2637) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:235) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)>
分析の結果、ZipSource.getURL() にエラーがあることが判明しました。この問題は、source.getURL() の null 値をチェックするロジックを追加することで解決しました。
|
6.1 SP5
8.1 SP1
|
CR093625
|
WebLogic Server 6.1 SP3 および SP4 のサーバは、JSP ページの JSP include の出力を間違った方向へ導いていました。この問題は、include、forward、wrapped-response、および JSP BodyTag の処理を統一するようにサーブレット エンジンを修正して解決しました。
|
6.1 SP5
8.1 SP1
|
CR094190
|
JVM の仕様によれば、メソッドのサイズ制限は 64KB です。WebLogic Server において JSP で本体付きタグを多数使用した場合、生成された Java コードが __jspService メソッドの 64KB 制限を超えてしまうことがありました。
この問題は、コードを修正することで解決しました。現在は、<my:tag ... /> 形式の空の BodyTag に遭遇した場合、通常その本体のスコープを設定する生成コードが、StandardTagLib.java の静的メソッドに対する 1 回の呼び出しに置き換えられます。その結果、BodyTag ではそれが JSP ソースから通常どおりに呼び出されているものと判断されるようになります。
|
6.1 SP5
8.1 SP1
|
CR094488
|
セッション データを失うことなく、HTTP を使用して開始されたセッションで HTTPS リソースにユーザが安全にアクセスできるようにする新機能が追加されました。この新機能を有効にするには、config.xml の WebServer 要素に AuthCookieEnabled="true" を追加します。
<WebServer Name="myserver" AuthCookieEnabled="true"/>
このようにすることで、新しいセキュアなクッキーが、HTTPS 接続を介した認証時にブラウザに送信されるようになります。一度設定すると、セッションはクッキーがブラウザから送信された場合しかセキュリティ制約のある他の HTTPS リソースにアクセスできません。
注意 : 通常の HTTP を介した認証の場合、セキュアなクッキーは設定されたり、HTTPS リソースで必要とされたりすることはありません。保護されていない HTTPS リソースにアクセスする場合、クッキーは検証されません (ブラウザから送信されていないため)。このため、ブラウザはユーザのログインなしで保護されていない HTTPs リソースにアクセスできます。
|
6.1 SP5
8.1 SP1
|
CR095981
|
weblogic.xml の <charset-mapping> は、precompile=true で JSP ファイルをコンパイルするときに無視されていました。
結果として、一部の 2 バイト文字セットが、<charset-mapping> で指定された文字のエンコーディングとコンパイル済みクラスで指定された文字のエンコーディングの不一致のために取り違えられていました。
分析の結果、プリコンパイラにエラーがあることが判明しました。この問題は、コードを修正することで解決しました。
|
6.1 SP6
8.1 SP1
|
CR097719
|
WebLogic Server SP02、SP03、および SP04 では、WAP デバイスから特定の POST リクエストを取得するときに、Web アプリケーションで java.util.ConcurrentModificationException が送出されていました。
<29.jan.03 13:03:05 WET> <Error> <HTTP> <[WebAppServletContext(2810713,TnMFF,/TnMFF)] Servlet failed with Exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.next(HashMap.java:736) at weblogic.utils.enumerations.IteratorEnumerator.nextElement(IteratorEnumerator.java:25) at com.colibria.core.xmlswitch.XMLSwitch.getQueryStringXML(XMLSwitch.java:347) at ...
分析の結果、文字セットがリクエストの content-type と関連付けられている場合に、アプリケーションでコードがそのエンコーディングを使用してデータを再び読み込み、クエリ パラメータをリセットすることが判明しました。アプリケーションにはすでに列挙オブジェクトがあり、それを反復処理して (request.getParameterNames )、その後にパラメータの値を取得しようとします (request.getParameterValues(k) )。その時点で、クエリ パラメータは消去され、getParameterValues メソッドがそれを設定しようとし、結果として例外が送出されます。
この問題は、クエリ パラメータが消去された後にそれらを設定するようにコードを変更して解決されました。そのようにすれば、文字セットがリクエストの content-type と関連付けられている場合にデータを再び読み込むことができます。
|
8.1 SP1
6.1 SP5
|
CR097759
|
VM スレッド ダンプとタイムスタンプが関連付けられていませんでした。
この問題は、次の形式のメッセージが VM スレッド ダンプの前に出力されるようにコードを修正して解決しました (weblogic.Admin スレッド ダンプ コマンドを使用したスレッド ダンプのみに適用される)。
THREAD DUMP from JVM taken at 'Mon Mar 24 16:26:13 2003'
|
8.1 SP1
|
CR098955
|
logRotationBeginTime が過去の日付であり、logRotationBeginTime と今日の日付の間隔が大きい場合は、long の int への不適切なキャストのため、ローテーション時刻の計算が無効になっていました。この問題は解決されています。
|
5.1 SP14
8.1 SP1
|
CR100068
CR110324
|
日本語文字の含まれる JSP で JSTL タグを使用することはできませんでした。JSP が実行されると、次の行で始まるエラーが発生していました。
java.io.IOException: javax.servlet.jsp.JspException: The taglib validator rejected the page: "org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x82) was found in the CDATA section."
...
この問題は、以下の衝突する条件が原因で発生していました。
1. JSP のページ エンコーディングが次のように Shift_JIS で定義されている
<%@ page pageEncoding="Shift_JIS" %>
2. JSP でマルチバイト文字 (日本語) を使用している
3. JSTL タグを使用している
この問題は、weblogic.servlet.jsp.StandardTagLib.makeXMLStream メソッドから返されるバイト ストリームのエンコーディングを UTF-8 に変更することで解決しました。
|
7.0 SP3
8.1 SP1
|
CR100172
|
複数のチャンクされたリクエストがサーブレットにポストされた場合は、以下の行で始まる NumberFormationException で多くのリクエストが失敗していました。
<ExecuteThread: '11' for queue: 'default'> <kernel identity> <> <101017> <[ServletContext(id=4864139,name=387551,context-path=)] Root cause of ServletException> java.lang.NumberFormatException:
...
この問題は、間違った場所で不適切にチャンクの末尾を検出しようとしていたことが原因で発生していました。
この問題は、ストリームの最後まで読み込み、チャンクの末尾を適切に検出するようにコードを修正して解決されました。
|
7.0 SP3
8.1 SP1
|
CR100188
|
AuthCookie 機能が証明書の認証で機能していませんでした(AuthCookie は、HTTP から HTTPS への移行を保護するために使用するセキュアなクッキーです)。この機能は、セッション データを失うことなく、HTTP を使用して開始されたセッションで HTTPS リソースにユーザが安全にアクセスできるようにするために WebLogic Server 6.1 SP5 で追加されました。
この問題は、コードを修正することで解決しました。
|
8.1 SP1
|
CR100260
|
HTTP リクエストがデフォルト以外のネットワーク チャネルを使用して WebLogic プロキシによってクラスタにプロキシされる場合、返されるクラスタ リストはデフォルト チャネルに基づいていました。その後、プラグインは元々のネットワーク チャネル (到達できない可能性があった) ではなくデフォルト チャネルにプロキシを開始していました。
この問題は、動的なサーバ リストでデフォルトではないネットワーク チャネルが認識されるようにコードを修正して解決されました。
|
8.1 SP1
|
CR100570
|
WebLogic Builder から weblogic.xml の変更を保存するときに、weblogic.xml ファイルでデプロイメント記述子 MBean の余計なエントリが作成されていました。そうした余計なエントリはデフォルトであり、weblogic.xml ファイルに追加する必要はありませんでした。
この問題は、デフォルト値が変更されている場合にのみエントリが weblogic.xml ファイルに書き込まれるようにコードを修正して解決されました。
|
8.1 SP1
|
CR101996
|
リクエストおよび応答ラッパーで xmlx タグを使用すると、ClassCastExceptions が送出されていました (そのタグが内部リクエストと応答の実装に内部的にキャストされるため)。この問題は、リクエストと応答のインスタンスを元の内部表現に戻すことで解決しました。
xmlx タグを使用した場合は、getOutputStream の後に getWriter を使用する試みが行われたことを示す IllegalStateException も送出されていた可能性があります。この問題は、getOutputStream を呼び出す前に適切に出力状態をリセットするようコードを修正して解決されました。
|
8.1 SP1
|
CR102057
|
バッファ サイズなしでリクエストに静的リソースを含めると (たとえば、response.setBufferSize(0) )、無限ループに陥るおそれがありました。この問題は、このケースから保護することで解決されました。
|
8.1 SP1
|
CR102062
|
ServletContext.getResourcePaths メソッドが WAR ファイルから呼び出された場合に誤った結果を返し、分割ディレクトリ デプロイメントの場合このメソッドで返された Set には srcdir からの結果のみが含まれ、outputdir からの結果が含まれていませんでした。
この問題は、コードを修正することで解決しました。
|
8.1 SP1
|
CR102077
|
weblogic.servlets.internal.InternalRequestDispatcher は、長さが 0 の URI (たとえば空の HTML ファイル) が渡された場合は StringIndexOutOfBoundsException を送出します。
この問題は、この状態から保護することで解決されました。
|
8.1 SP1
|
CR102499
|
Web アプリケーション クラスローダを使用してリクエストに属性を追加し、そのリクエストが request.getAttribute() により Web アプリケーション クラスローダの子クラスローダに委託された場合、ClassCastException を回避するために Web アプリケーション コンテナでその属性のデシリアライズが試みられました。その結果、シリアライゼーション エラーが発生しました。
現在 Web アプリケーション コンテナのコードでは、親クラスローダからロードされたクラスを検出できるようになっています。これが機能すれば、デシリアライズは行われません。
しかし、これは次のような条件下では、子が setAttribute() を使用してリクエスト内に属性を配置した場合に機能しません。
Web アプリケーション クラスローダを一時的に子クラスローダ内の setAttributes() に送って表示すると、2 番目の問題を回避できます。
|
8.1 SP1
|
CR102667
|
同じ名前のコンテキストが古いデプロイメント モデル (6.x デプロイメント モデル) を使用して以前にデプロイされている場合には、Web アプリケーション モジュールによって NullPointerException が送出されていました。
この問題は、古いデプロイメント モデルがある場合はそれが適切に処理されるようにすることで解決しました。
|
8.1 SP1
|
CR102763
|
(サーバではなく) ネットワーク チャネルでは、ExternalDNSName は非推奨になっています。顧客は、プロキシ Web サーバとクラスタの間にファイアウォールがある場合はチャネルの新しいパブリック アドレスを利用する必要があります。また、HTTP と HTTPS の組み合わされたチャネルを使用することも必要です。詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「プロキシ レイヤとクラスタの間のファイアウォール」を参照してください。
|
8.1 SP1
|
CR103059
|
<servlet-mapping> 要素の 1 文字の <url-pattern> 値が、web.xml デプロイメント記述子で適切に処理されていませんでした。たとえば、<url-pattern>*.f</url-pattern> では welcome.f にアクセスしようとしたときに 404 File Not Found エラーが生成されましたが、<url-pattern>*.oop</url-pattern> は welcome.oop にアクセスしようとしたときに適切に機能していました。
この問題はすでに解決されており、1 文字の <url-patterns> は適切に機能するようになっています。
|
8.1 SP1
|
CR103095
|
Web アプリケーション モジュールと関連付けられた認証メソッドが無効で、その Web アプリケーション モジュールがデプロイされるときに、エラー メッセージは生成されず、認証メソッドが通知なしにデフォルトで BASIC 認証になっていました。
この問題は、コードを修正することで解決されています。認証メソッドが無効な Web アプリケーション モジュールはデプロイされず、問題を示すメッセージが Administration Console または stdout (どちらに表示されるかは Web アプリケーション モジュールのデプロイ方法による) だけでなくサーバのログ ファイルにも表示されるようになりました。
|
8.1 SP1
|
CR103192
|
クライアントでセッション クッキーが有効になっていない場合、ユーザは HTTPS 経由でセキュアな Web サイトにログインできませんでした。この問題は、AuthCookie (WebLogic Server 8.1 まではデフォルトで無効だった) を手動で無効化することで回避できました。
この問題は、Web アプリケーションでセッション クッキーが無効になっている場合に AuthCookie チェックを自動的に無効にすることで解決されました。
|
8.1 SP1
|
CR103247
|
WebLogic Server は、分割ディレクトリ機能を使用するときに暗黙の TLD の位置を特定できませんでした。
この問題は、resourceFinders が暗黙的な TLD のロード後に更新されることが原因で発生していました。resourceFinder の更新では、srcdir と送り先 (outputdir) ディレクトリが追加されます。
この問題は、抽出プロセスの前に resourceFinders を更新することで解決されました。
|
8.1 SP1
|
CR103925
|
setAttribute メソッドは、hashCode の同一性のみをチェックしていました。現在は、equals メソッドの結果で古いオブジェクトと新しいオブジェクトをチェックするようにもなりました。
|
8.1 SP1
|
CR104410
|
PersistentStoreType が「replicated」に設定されている場合、アプリケーションを正常にデプロイできた顧客はブラウザからそのアプリケーションにアクセスしようとしたときに「Internal Server error」というメッセージを受信していました。加えて、次の例外もサーバでログに記録されていました。
weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on ResourceType: ServletSessionRuntime Action: register, Target: null
この問題は、セッション モニタが有効になっているセッションを正常に作成できるようにコードを修正することで解決しました。
|
8.1 SP1
|
CR104469
|
fastfile.dll ファイル (Windows 上の FileServlet のネイティブ IO で必須) は、JRockit JVM では機能しませんでした。この問題は解決されています。
|
8.1 SP1
|
CR105171
|
weblogic.xml の <jspServlet> 要素で weblogic.servlet.WlwJSPServlet を使用するように指定されている場合でも、「load-on-startup」JSP ファイルは weblogic.jspc でコンパイルされていました。
この問題は、指定されたコンパイラが使用されるように解決されました。
|
8.1 SP1
|
CR106172
|
weblogic.xml で precompile オプションが true に設定されている Web アプリケーションのデプロイメントは、org.xml.sax.SAXParseException の JSTL タグ バリデータ エラーで失敗していました。
この問題は、precompile が true に設定されている場合は、JSP ファイルが検証を実行するメソッドに渡されないことが原因で発生していました。
この問題は、検証を実行するメソッドに JSP ファイルを正しく渡すようにコードを修正して解決されました。
|
8.1 SP1
|