ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     リリース ノート   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

注意事項

 

以下の節では、このソフトウェア リリースにおいて確認されている問題について説明します。

 


コネクタに関する確認済みの問題

変更要求番号

説明

098342

WebLogic Server 6.1 の JCA の実装には、IBM CICS リソース アダプタとの互換性がない。 BEA が実装する javax.resource.spi.ConnectionManager インタフェースは、リソース アダプタが実装する javax.resource.spi.ManagedConnection インタフェースの getConnection() メソッドによって返されるオブジェクトを直接返さない。代わりに、java.lang.reflect.Proxy クラスによって動的に生成されたクラスのインスタンスを返す。

 


Administration Console に関する確認済みの問題

変更要求番号

説明

053277

Netscape を使用して Administration Console を呼び出し、LDAP レルム コンフィグレーション用のテンプレートを編集する場合に、[コンフィグレーション情報] ウィンドウで矢印またはスクロール バー ボタンを使用して左右に移動すると、表示データが文字化けしたようになる。[適用] ボタンをクリックしても文字化けしたデータは config.xml に保存されないが、テンプレートの編集が困難になる。

 


コアに関する確認済みの問題

変更要求番号

説明

CR093104

SP04 および SP05 では、NT のパフォーマンス パックが原因で、スレッドのデッドロックが発生する場合がある。この問題は、データベースにアクセスする .jsp の負荷テストの際に、小さな負荷において発生した。スレッド ダンプは、「デフォルト」の実行スレッドの大部分が、「モニタ エントリ待ち」でスタックしていることを示していた。

"ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0x273fb548 nid=0xadc waiting for monitor entry [0x2810f000..0x2810fdc4]

at weblogic.socket.NTSocketMuxer.initiateIO(NTSocketMuxer.java:483)

at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java:474)

at

weblogic.servlet.internal.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java:244)

at

weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1094)

at

weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2364)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

このようなデッドロックが発生する場合は、.hotspot_compiler という名前で次のような内容のファイルを、JVM を呼び出すディレクトリに作成する必要がある。

exclude weblogic/socket/NTSocketMuxer processSockets

CR106616

Netscape Version 4.79 を Linux AS2.1 および HP-UX 上で実行する場合に問題がある。

WebLogic Server Administration Console でいくつかの操作を行った後、バス エラーによってブラウザが停止する (コア ダンプが生成されることもある)。

 


EJB に関する確認済みの問題

変更要求番号

説明

035884

WebLogic Server のインスタンスにデプロイ可能なエンタープライズ JavaBean (EJB) は最大で 390。 これは Sun のバグで、1.3 JDK による制限。 JDK 1.3.1 リリースで修正される可能性がある。 Sun Bug ID は 4390238。

051543

まったく不適切な EJB をデプロイしようとすると、EJB コンテナによってそのデプロイ メソッドから例外が送出される。しかし、Administration Console でその EJB をクリックすると、[デプロイ] チェックボックスがチェックされたままになっている。

061938

特定の条件下で、EJB QL クエリが SQL クロス積の結果である擬似重複を返すことがある。 発生する可能性のある条件は次のとおり。

  • EJB-QL クエリに関係をナビゲートするパス表現が含まれている。この場合、生成された SQL SELECT 句で複数のテーブルが生成される。

  • The WHERE 句に関係をナビゲートする OR オペランドが含まれており、OR オペランド中のすべてのパス表現が、生成された SQL SELECT 句のすべてのテーブルにマップされていない。この場合、その OR オペランドに対する結果にクロス積が現われる場合がある。

次の例に、この問題を示す。

EJB QL:

SELECT OBJECT(c)
FROM CustomerBean AS c, IN(c.accounts)accts
WHERE c.name = '100' OR c.accts.bal = 300

DATA: customer '100' exists but has no accounts

EXPECTED RESULT: customer '100' from clause #1

ACTUAL RESULT: customer '100' X number of accts

SQL:

DROP TABLE thorick_customers;


CREATE TABLE thorick_customers (
cust_name VARCHAR(10),
cust_interests VARCHAR(10),
cust_rating INTEGER, acct_id INTEGER,
PRIMARY KEY (cust_name));


DROP TABLE thorick_accounts;

CREATE TABLE thorick_accounts
(acct_id INTEGER,
bal FLOAT,
PRIMARY KEY (acct_id));


INSERT INTO thorick_accounts VALUES (100, 100.0);
INSERT INTO thorick_accounts VALUES (200, 200.0);
INSERT INTO thorick_accounts VALUES (300, 300.0);
INSERT INTO thorick_accounts VALUES (400, 400.0);
INSERT INTO thorick_accounts VALUES (500, 500.0);
INSERT INTO thorick_customers VALUES('100', 'jazz', 2, null);
INSERT INTO thorick_customers VALUES('900', 'punk', 3, 400);

SELECT WL0.cust_name, WL0.cust_interests, WL0.acct_id
FROM thorick_Customers WL0, thorick_Accounts WL1
WHERE WL0.cust_name = '100'
OR ( wl1.bal = 300 AND wl0.acct_id=wl1.acct_id );


CUST_NAME CUST_INTER ACCT_ID
---------- ---------- ----------
100 jazz
100 jazz
100 jazz
100 jazz
100 jazz

062927

WLS 6.1 によって提供される JSP から、WLE 5.1 によって提供される EJB を要求すると、次の例外が発生する可能性がある。 java.lang.NoClassDefFoundError

WLE 5.1 の wlej2eecl.jar ファイルの場所を、WLS 6.1 の startWeblogic.cmd スクリプトまたは startWeblogic.sh スクリプトの CLASSPATH に追加する必要がある。

079539

WebLogic Server 6.1 sp3 は、WLI 2.1 sp1 の Application Integration と互換性がない。 詳細についての問い合わせは、『BEAカスタマ サポート』まで。

088461

ejbc の動作が WebLogic Server 6.1 SP02 と SP03 で異なる。 SP02 では、ejbc をサーバにデプロイする前の Bean に対して実行しても期待通りの結果が得られたが、SP03 でそのような Bean に対して同様の処理を行うと、ejbc でプリコンパイルせずにホット デプロイされていた場合に処理が失敗し、OutOfMemory 例外が送出されることがある。

これを回避するには、以下を使用する。

java -verbosegc weblogic.ejbc -compiler javac -J-mx128m entityBeans.jar final.jar

089847

WebLogic Server の EJB デプロイメント プロパティの多くには、パフォーマンスの向上を目的として最適化されたデフォルト値が用意されている。一部のデフォルト値は、EJB の仕様に準拠していない。WebLogic Server を EJB 仕様に準拠させるには、以下のようにプロパティを設定する必要がある。

weblogic-ejb-jar.xml で、「enable call by reference」を False に設定する。

weblogic-cmp-jar.xml で、「include-updates」を True に設定する。

weblogic-cmp-jar.xml で、「check exists on method」を True に設定する。

097323

.jar ファイルにコンパイルされていないクラスやインタフェースが含まれる場合、クラスタ内の単一のサーバ インスタンスに EJB をデプロイまたは再デプロイしようとすると (固定されたデプロイメント)、問題が発生することが確認されている。

デプロイメントの際に、コンパイルされていない EJB はクラスタ内の各サーバ インスタンスにコピーされるが、コンパイルが行われるのは、EJB がデプロイされたサーバ インスタンスだけである。その結果、EJB のデプロイ対象になっていないサーバ インスタンスには、EJB を呼び出すために必要なクラスでコンパイルの際に生成されるものが存在していない。別のサーバ インスタンス上のクライアントが固定された EJB を呼び出そうとすると失敗し、RMI レイヤで Assertion エラーが送出される。

回避策 : クラスタ内の単一のサーバ インスタンスに EJB をデプロイまたは再デプロイする場合は、デプロイする前に appc または ejbc を使って EJB をコンパイルし、生成されるクラスがすべてのサーバ インスタンスにコピーされて、クラスタ内の全ノードで利用できるようにする。

 


サンプルと Pet Store Demo に関する確認済みの問題

変更要求番号

説明

043156

ejbmanagedclient.jsp は、t3://localhost:7001 に設定した変数を使用するので、ポート番号を動的に取得しない。このため、ページが要求されたときにサーバを見つけることができない。スタック トレースは出力されないが、例外が送出される。ページは次のように表示される。

--------------UnexpectedError--------------

7001 以外のポートを使用する場合は、jsp ファイルを編集する必要がある。

編集の必要がある変数は次のセクションにある。

<!-- Here, we declare a class method -->
<%!
String pagetitle = "JSP example using EJBean-managed persistence";
String url = "t3://localhost:7001";

インストールされているサーバ/ポート番号を指すように URL を編集する。

044641

examples/ejb/sequence/userDesignated/package-summary.html で情報が欠落している。必ず、サンプルのパッケージに含まれている table.ddl ファイルをこのサンプルで作成するテーブルのソースとして使用する。また、テーブルの名前は「NAMED_SEQUENCE-TABLE」ではなく「NAMED_SEQUENCE_TABLE」にする。

047654

dbKona サンプルでは、プール接続ができず、Example サーバを起動しようとするとエラーが発生する。

047928

Web アプリケーション セキュリティ サンプルを実行すると、グループを作成したり、グループにメンバーを追加したりするためのリンクが Administration Console に表示されない。また、[グループ] ウィンドウで、[Name] または[メンバ] をクリックすると、「500 Internal Server Error」と表示される。

048358

security/rdbmsrealm/rdbmsrealm.ddl サンプルと utils/ddl/demo.ddl サンプルでコメント記号に誤りがある。

052556

WLEC サンプルの実行後に examples ドメインで WebLogic Tuxedo Connector CORBA の simpappcns サンプルを実行すると失敗する。この問題の原因は、WLEC サンプルで SERVER_CLASSES ディレクトリに残される Simpapp クライアント スタブとの衝突にある。simpappcns サンプルを実行する前に、SERVER_CLASSES 環境変数を確認する。WLEC サンプルが実行されたら、SERVER_CLASSES からすべての Simpapp クライアント スタブを削除する。

053356

samples/examples/wtc/corba/simpappcns サンプルに run.sh UNIX スクリプトが用意されておらず、サンプルが UNIX マシンで機能しない。

この問題は、WebLogic Server 6.1 SP04 で解決された。 「053356」を参照。

062545

Solaris の simpappcns を実行している WebLogic Server ドメインは、NT で動作している Tuxedo Corba Server ドメインを呼び出すことができない。

この問題は、WebLogic Server 6.1 SP03 で解決された。 「062545」を参照。

062799

WIRELESS サンプルのうち 3 つのドキュメントでは、手順説明の手順 7 に誤りがある。問題のあるサンプルは、helloWorld、stockDemo、および travelDemo である。

手順 7 は、次の記述が正しい。

Path=./config/examples/helloWorld

次の記述は誤りである。

Path=./config/examples

このようにしないと、サンプルはデプロイされたアプリケーションを発見できない。

064001

examples.webservices.message.package-summary.html に、正しくない指示が含まれている。 手順 13 に、 「[送り先] ノードを右クリックし、ドロップダウン リストから [新しい <JMSTopic> のコンフィグレーション] を選択します。」と記述されている。

JMSTopic は JMSQueue でなければならない。

078441

一部のサンプルは、データ ソースを割り当て直すと動作しなくなる。データ ソースを割り当て直すと「Cannot obtain connection after X seconds」というエラー メッセージが表示されてサンプルが動作しない場合は、サンプル サーバを再起動し、変更を有効にする必要がある。

CR102138

WebLogic Server 6.1 SP05 では、 jssecacerts ファイルに正しい ca.pem ファイルが含まれていないため、SSLClient サンプルのコード例の JSSE バージョンが動作しないことがある。

この問題を回避するには、WebLogic Server の配布キットに含まれる ca.pem ファイルを jssecacerts ファイルに追加する。

ca.pemjssecacerts ファイルに追加するには:

  1. コマンド ウィンドウを開き、次のディレクトリに移動する。

    WL_HOME¥samples¥examples¥security¥sslclient>

  2. プロンプトで、次のように入力する。

    keytool -v -keystore jssecacerts -trustcacerts -import -file %WL_HOME%¥config¥examples¥ca.pem

  3. パスワードを要求されたら、次のように入力する。

    changeit

CR103521

dbkona サンプルのドキュメントにおいて、サンプルのコンパイルと実行に不可欠な以下の手順が抜けている。

  1. 使用している Oracle のバージョンに基づいて、適切な weblogicoci37.dll を選択する。 PATH 環境変数に正しい DLL へのパスを追加する。

  2. 以下のコマンドを実行してデータベースをロードする。

    java utils.Schema "jdbc:weblogic:oracle" weblogic.jdbc.oci.Driver -s oracle_server -u scott -p tiger -verbose utils¥ddl¥demo.ddl

  3. サンプルのコードをコンパイルする前に、サンプルの Java ファイルをすべて編集して、その server プロパティを前の手順で指定した oracle_server の値に変更する。

CR103547

HP および Solaris では、dbkona サンプルを起動できない。dbkona サンプルを起動すると、次のエラー メッセージが発生する。

Starting Loading jDriver/Oracle ..... Trouble while executing example java.sql.SQLException: System.loadLibrary(weblogicoci37) threw java.lang.UnsatisfiedLinkError: /space/bt/ weblogic/load4/bea/wlserver6.1/lib/hpux11/oci817_8/libweblogicoci37.sl: specified library, or one of its dependencies, does not exist.

at weblogic.jdbc.oci.Driver.loadLibraryIfNeeded (Driver.java:243 at weblogic.jdbc.oci. Driver. connect (Driver.java:79)at examples.dbkona.query. main(query.java:118)

この問題は、jDriver が ORACLE_HOME/lib ディレクトリに存在しなければならない libclntsh.so.8.0 ファイルを検索するが、ORACLE_HOME が定義されていないためにこのファイルを発見できないことが原因で発生する。サンプルの説明に、以下の記述が抜けている。

  • ORACLE_HOME 環境変数が定義されていることを確認する。

  • ORACLE_HOME/lib ディレクトリに libclntsh.so.8.0 ファイルがあることを確認する。

  • LD_LIBRARY_PATHORACLE_HOME/lib ディレクトリが含まれていることを確認する。

dbkona サンプルを実行するには、これらの手順が必要である。

CR127253

examples.security.acl サンプルで、ユーザが適切なコマンド ライン オプションを指定していない場合にエラーを捕捉できない。 代わりに、スタック トレースが表示される。

examples.security.acl サンプルのパッケージの要約には、以下のように記述されている。

「ユーザおよびパスワードは joeuser のユーザ名およびパスワードです。 -user および -pass コマンド ライン オプションが指定されていないと、JNDI の Initial_Context ではデフォルトによりユーザ「guest」、パスワード「guest」が指定されます。 その場合、aclexample ACL がユーザ「guest」に対してパーミッションを割り当てないため、Altclient クライアントに障害が発生します」

これらの指示に従わずにこのサンプルを実行すると、誤って以下のようなエラーのスタック トレースが表示される。

C:¥610sp6¥wlserver6.1¥samples¥examples¥security¥acl>java -Dweblogic.security.SSL .ignoreHostnameVerification=true examples.security.acl.AltClient t3s://localhost :7002 -sslCert demokey.pem;democert.pem -servername weblogic.bea.com javax.naming.AuthenticationException. Root exception is java.lang.SecurityException: Authentication for user null denied in realm weblogic Start server side stack trace: java.lang.SecurityException: Authentication for user null denied in realm weblog ic at weblogic.security.acl.Realm.authenticate(Realm.java:212) at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233) at weblogic.security.acl.internal.Security.authenticate(Security.java:17 1) at weblogic.common.internal.RMIBootServiceImpl.authenticate(RMIBootServi ceImpl.java:47) at weblogic.common.internal.RMIBootServiceImpl_WLSkel.invoke(Unknown Sou rce) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360) at....

 


インストーラに関する確認済みの問題

変更要求番号

説明

039773

インストーラを実行するのに十分なスペースが /temp にない場合に、次のような紛らわしいエラー メッセージが表示される。

Preparing to install...

The included VM could not be extracted. Please try to download the installer again and make sure that you download using 'binary' mode. Please do not attempt to install this currently downloaded copy.

デフォルトでは、インストーラはすべてのインストーラ ファイルを /temp ディレクトリに復元しようとする。このディレクトリに十分な一時スペースがない場合は、インストールできないので、このメッセージが表示される。/temp にはインストーラ ファイルを格納できるスペースを確保する必要がある。

040353

共有ライブラリに実行パーミッションが与えられないため、HP-UX マシンと Solaris マシン上でインストールに関する問題が発生することがある。WebLogic Server のインストーラによるファイル パーミッションの変更は、標準の属性を強制されたインストーラによって元に戻される。この問題を避けるには、(lib/hpux11lib/solaris の下の) すべての共有ライブラリのオブジェクトに対して chmod +x コマンドを実行する。

043357

Solaris 2.6 または 2.7 UNIX システム上で次のエラー メッセージが表示された場合、

UnsatisfiedLinkError in AWT applications (libmawt.so:
open failed: No such file for directory).
The policytool will not open. The Java Plug-in Control Panel will not open.

通常は、LD_LIBRARY_PATH を編集することでこの問題を回避できる。次に例を示す。

setenv LD_LIBRARY_PATH

/usr/j2se/jre/lib/i386/motif12:$LD_LIBRARY_PATH

ただし、libmawt.so ファイルに問題がある場合、この問題を修正できないことがあるので、Sun からパッチを入手する必要がある。Sun のパッチ情報については、http://java.sun.com//j2se/1.3/install-solaris-patches.html を参照。

053469、055598

Administration Console を使用する場合にユーザおよびグループにパーミッションを付与するには、acl.modify.weblogic.admin=Administrators という行を filerealm.properties に追加する。この ACL は、WebLogic Server 6.0、6.0 サービス パック 1、および 6.0 サービス パック 2 に存在した。

054058

サポートされていないブラウザでは、beaexec.exe を実行すると WebLogic Server がクラッシュする場合がある。

087287

Solaris 上にインストールする場合に $DISPLAY が設定されていないと、インストーラにより以下の例外が送出される。

Invocation of this Java Application has caused an InvocationTargetException.

This application will now exit.

この問題を回避するには、$DISPLAY にホスト マシンの IP アドレスを設定する。

091420

WebLogic Server 6.1 SP04 では、Unix マシンに対して [Post-Bind UID を有効化] オプションが指定されていると、WLS が起動しなかった。(この属性は Administration Console の [マシン] ノードでコンフィグレーションできる。このオプションの目的は、特権付きのすべての起動アクションが行われた後で、Unix マシンを実行するサーバ インスタンスが稼働時に使用する Unix UID を返すことである。

この問題は、WLS 6.1 SP05 では解決されている。

CR091420 を参照。

102815

Install Anywhere インストーラを使用する場合、WebLogic Server 6.1 を Windows 2000 の互換性モードでインストールする必要がある。 詳細については、『Installing on Windows XP』を参照。

 


JCA に関する確認済みの問題

変更要求番号

説明

049344

現時点の BEA WebLogic J2EE コネクタ アーキテクチャ実装では、J2EE コネクタ アーキテクチャ仕様バージョン 1.0 最終草案 2 のセクション 6.8 (「Scenarios: Local Transaction Management」) で規定されているエラーの検出機能を提供していない。

 


JDBC と jDrivers に関する確認済みの問題

変更要求番号

説明

033423

QueryDataSet と OCI805_8 ドライバで dbKona に関する問題が発生する。この問題は Windows NT 上では修正されたが、HPUX および Solaris では未解決。

035301

Sybase 接続プールで RMI ドライバを使用すると、問題が発生する。

035530

jDriver で OS 認証の有効化と Oracle 8.1.6/oci8 の使用に関して発生していた問題は NT と HP-UX では修正されたが、Solaris ではまだ解決されていない。 この問題を報告するエラー メッセージは、「OS level authentication is not currently supported due to a defect in OCI 8 libraries」のように表示される。

040413

クラスタが Solaris マシン上でハングする場合がある。この原因は、SIGALRMSIGLWP の間の libthread デッドロックと考えられる。デッドロックは、サーバが JDBC 接続をしようとしたときに発生する。この問題を避けるには、Administration Console を使って、JDBCConnectionPoolInitialCapacity 属性を MaxCapacity 属性と同じ値に設定する。

以前は同様の問題が、Solaris 2.6 の Sun Microsystems Bug (ID 4141709 SIGALRM と SIGLWP 間の libthread デッドロック) としてロギングされていた。現在、Solaris 2.7 に関してはこの問題が発生していない。Solaris 2.6 については、この問題のパッチ 105569-16 が用意されている。

043224

Oracle では、ThinDriver によって独自のクラス Array (oracle.sql.Array) をサポートしている。これらのクラスは、WebLogic Server JDBC で接続を取得するアプリケーションで使おうとした場合に機能しない。

048219

フラッシュしても RMI Clob 文字の書き込みが「コミット」されないように見える。フラッシュに問題が発生するのは、以下の書き込みメソッドを使用している場合のみと考えられる。

  • write(char[] cbuf)

  • write(char[] cbuf, int off, int len)

  • write(String str)

  • write(String str, int off, int len)

次のメソッドでは正常に機能する。

  • write(int c)

Clob と共に Ascii ストリームを使用しているときにフラッシュしても問題はない。書き込みをコミットするには、ストリームを明示的にクローズする必要がある。書き込みストリームをクローズする準備が整う前に Clob から読み直そうとする場合にのみ、問題が発生することがある。

049519

Oracle の Thin ドライバのバグが原因で、次のメソッドは java.sql.PreparedStatement API に準拠していない。

PreparedStatement.setTimeStamp(int param index, Timestamp x, Calendar cal)

タイムスタンプ値が、Calendar オブジェクトで指定された TimeZone に従って調整されない。デフォルトの TimeZone が常に使用される。

このバグは、Thin ドライバの今後のリリースで Oracle によって修正される可能性がある。

127348

WebLogic Server 6.1 SP6 に付属する Oracle 8.1.7 Thin ドライバを使用している場合に、以下の例外が時おり表示されることがある。

java.sql.SQLException: Io exception: Protocol violation

これは、ドライバのエラーにより生じているおそれがある。 この例外は Oracle から提供される以降のバージョンのドライバでは発生しない。 WebLogic Server 6.1 SP6 に含まれるドライバのバージョンは 8.1.7.0.0。 Oracle から現在提供されているバージョンは 8.1.7.1.0 である。

回避策 : Oracle から新しいバージョンのドライバを入手して、そのドライバ (classes12.zip) を weblogic.jar の前のクラスパスに追加する。

 


JMS に関する確認済みの問題

変更要求番号

説明

037683

Administration Console の [JMS トピック] コンフィグレーション タブで、[マルチキャスト アドレス] の有効な値として任意のアルファベットを入力できる。インターネット アドレスのフォーマットに違反して入力される値の有効性を検証する必要がある。

049229

サポートされていない JDK 1.3.0 に対応したサーバを起動すると、JMS の問題が発生することがある。 この問題は、JMS ストアに既存のメッセージがある場合にサーバを再起動すると発生し、それらのメッセージが無視される。サーバに付属している JDK 1.3.1 の使用を推奨する。

083538

マルチサーバのコンフィグレーションでは、あるサーバ上のアプリケーションまたは EJB は、別のサーバ上の TxDataSource をルックアップして接続を取得することはできない。アプリケーションまたは EJB は、同じサーバ上の TxDataSource を使用する必要がある。これはシステムでの制限事項である。

 


JSP に関する確認済みの問題

変更要求番号

説明

049854

ejb2 JSP ツールで EJB 2.0 ローカル インタフェースがサポートされない。

075671

JSP で FileInputStream または ArrayList などの Java クラスを使用する場合に、これらのクラスを JSP にインポートしていない場合にも NoClassDefFoundError が送出されない。

CR127701

JDK 1.3.1 および 1.4.1 に、確認済みのセキュリティの脆弱性がある。 この脆弱性により、不正な XML または XSLT を解析しようとすると JVM がクラッシュし、Web サーバまたはアプリケーション サーバにおいてサービス拒否を招くおそれがあった。 Sun Microsystems から提供されているパッチをインストールして、この確認済みのセキュリティの脆弱性を解決することを推奨する。

パッチを適用すると、さらに綿密な JSP 解析が実行される。 その結果、パッチのインストール後には、JDK 1.3.1 および 1.4.1 ではコンパイルされていたコードがコンパイルされなくなる。 Petstore サンプル アプリケーションにおいて、コンパイル エラーを回避するために JSP をアップグレードする方法については、http://edocs.beasys.co.jp/e-docs/wls/docs81/upgrade/upgrade6xto81.html#1062978 の『WebLogic Server 8.1 へのアップグレード』を参照。

 


JVM に関する確認済みの問題

変更要求番号

説明

CR099314

http://developer.java.sun.com/developer/bugParade/bugs/4755829.html で説明されているように、JDK 1.3.1_04 と nohup コマンドには問題がある。

nohup コマンドを実行すると失敗する。nohup の実行に関係なく、親のシェルが終了すると、WebLogic Server プロセスは終了する。この問題は ksh (Solaris 8 のデフォルトのシェル) で確認されており、他のシェルでも存在する可能性がある。bash シェルではこの問題は発生していない。

回避策 :

  • (nohup startWeblogic &)」の代わりに「startWeblogic >output 2>&1 &」を使用する。

CR100564

WebLogic Server 6.1 SP04 と WebLogic Server 8.1 の間に相互運用性の問題があるため、WebLogic Server 6.1 SP04 上の RMI クライアントからの呼び出しでは、WebLogic Server 8.1 上の RMI オブジェクトによって送出された正しい例外を取得できない。このエラーは、WebLogic Server 6.1 SP04 では次のようになる。

<Mar 8, 2003 12:36:35 PM PST> <Error> <NT Performance Pack> <failure in processSockets() - GetData: 'weblogic.socket.NTSocketMuxer$GetData - native pointer: '272329000', numBytes: '0'' java.lang.ClassCastException: weblogic.iiop. LocateRequestMessage at weblogic.iiop.EndPoint Impl.cleanupPendingResponses(EndPointImpl.java:659) at weblogic.iiop.ConnectionManager.got ExceptionReceiving(ConnectionManager.java:273) at weblogic.iiop.MuxableSocketIIOP.endOfStream (MuxableSocketIIOP.java:681) at weblogic.socket. NTSocketMuxer.processSockets(NTSocketMuxer.java:657) at weblogic.socket.SocketReaderRequest. execute(SocketReaderRequest.java:24) at weblogic. kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run (ExecuteThread.java:120) > <Mar 8, 2003 12:41:35 PM PST> <Error> <NT Performance Pack> <failure in processSockets() - GetData: 'weblogic.socket. NTSocketMuxer$GetData - native pointer: '272089304', numBytes: '0'' java.lang.ClassCastException: weblogic.iiop. LocateRequestMessage at weblogic. iiop.EndPointImpl.cleanupPendingResponses(EndPointImpl.java:659) at weblogic.iiop.Connection Manager.gotExceptionReceiving(ConnectionManager.java:273) at weblogic.iiop.MuxableSocketIIOP. endOfStream(MuxableSocketIIOP.java:681) at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:657) at weblogic.socket.Socket ReaderRequest.execute(SocketReaderRequest.java:24) at weblogic.kernel.ExecuteThread.execute (ExecuteThread.java:139) at weblogic.kernel. ExecuteThread.run(ExecuteThread.java:120)

 


RMI に関する確認済みの問題

変更要求番号

説明

CR100713

WebLogic Server 6.1 SP04 以前のバージョンは、WebLogic Server 8.1 と相互運用できない。6.1 と 8.1 のサーバ インスタンス間のトランザクションは、6.1 のサーバ インスタンスにおける ArrayIndexOutOfBoundsException でタイムアウトする。

6.1 のサーバ インスタンスが 8.1 サーバ インスタンスのコーディネータ リモート オブジェクトのルックアップを実行する際の RJVM/RMI に問題がある。6.1 サーバが ack を試みると、操作が失敗し、8.1 のコーディネータがトランザクションを解決できずに、コミット タイムアウト例外をクライアントに対して送出する。

たとえば、クライアントとリモート オブジェクト起動クラスが、8.1 と 6.1 のサーバにデプロイされているものとする。クライアントが 8.1 サーバ上のリモート オブジェクトをルックアップし、6.1 サーバの URL を指定してリモート メソッドを呼び出す。8.1 のメソッドは、6.1 サーバ上のリモート オブジェクトをルックアップし、8.1 サーバの URL でメソッドを呼び出す。6.1 のリモート メソッドは、8.1 サーバ上のリモート オブジェクトをルックアップして、メソッドを呼び出す。このとき、JVMID をブートストラップして送信すると、問題が発生する。リモート ピアがどれかを通知する手段がない。

この問題は、WebLogic Server 6.1 SP05 で解決される。

 


RMI-IIOP に関する確認済みの問題

変更要求番号

説明

CR126991

WebLogic Server 6.1 SP05 と WebLogic Server 6.1 SP06 の間に相互運用性の問題があることにより、ClassCastException が送出されることがある。このエラーは replaceObject の実行中に IIOPRemoteRef を IOR にキャストしたために発生する。 WebLogic Server 6.1 SP05 用のパッチを適用できる。

 


セキュリティに関する確認済みの問題

変更要求番号

説明

048159

ログ監査プロバイダの使用中は、監査が有効になっていることを通知するメッセージが WebLogic ログ ファイルに送信されない。

051215

WebLogic Server 起動プロセス中のシステム パスワードの入力時に、CTRL/C シーケンスを使用して WebLogic Server の起動を中断すると、ターミナル ウィンドウが非エコー モードになり、入力文字がエコーされない。

可能であれば、システム パスワードを入力し終えるまで、WebLogic Server の起動の中断を待機する。システム パスワードの入力時に CTRL/C シーケンスを使用する場合には、ターミナル ウィンドウをリセットするか、またはそのターミナル ウィンドウを閉じて別のターミナル ウィンドウを起動する。

051315

WebLogic Server のノード マネージャでは、Certificate Request Generator サーブレットによって作成されたプライベート キーを処理できない。この問題を解決するために、wlkeytool コンバータ ツールが提供されている。

wlkeytool コンバータ ツールは次のように使用する。

wlkeytool inputkey.pem outputkey.pem

このコードの説明は以下のとおり。

inputkey.pem は、Certificate Request Generator サーブレットによって作成されたプライベート キーの名前。

outputkey.pem は、変換されたプライベート キーの名前。

プライベート キーがパスワードで保護されている場合 (つまり、Certificate Request Generator サーブレットの [ Private Key Password] フィールドでパスワードを指定した場合) は、wlkeytool コンバータ ツールによってパスワードが要求される。プライベート キーがパスワードで保護されていない場合は、〔Enter〕を押す。

変換されたプライベート キーのパスワードが wlkeytool コンバータ ツールによって要求される。wlkeytool コンバータ ツールでは保護されていないプライベート キーは作成されないので、パスワードは必ず入力する。

デプロイ対象の WebLogic Server では、wlkeytool コンバータ ツールによって変換されたプライベート キーがサポートされていないので、Certificate Request Generator サーブレットによって作成されたプライベート キーを保持しておき、デプロイ対象の WebLogic Server ではそれを使用する必要がある。

053390

キャッシング レルムを有効にして RDBMSRealm を使用する場合で、DatabasePassword が config.xml ファイルの RDBMSRealm タグで指定されていない場合、サーバはエラー「<wlsstartuperror1>」で停止し、起動しない。

回避策 : config.xml ファイルを開き、RDBMSRealm タグにクリア テキストで DatabasePassword を追加する。

053409

WebLogic Server で Java セキュリティ マネージャを使用するには、WebLogic Server の起動時に -Djava.security.manager property プロパティを指定する。

組み込みの起動スクリプトではポリシー ファイルが指定されるが、セキュリティ マネージャは指定されない。したがって、結局ポリシー ファイルは無視されてしまう。ポリシー ファイルが有効になるよう、セキュリティ マネージャを設定する必要がある。

078619

グループ メンバシップのキャッシングが、GroupMembershipCacheTTL で設定されている値を使用していない。代わりに、GroupCacheTTLPositive で設定されている値を使用している。

078894

FlatGroup.clearCache() を呼び出してキャッシュを更新すると、isMember の 2 回目の呼び出しで false が返る。isMember がまだ古いキャッシュ データを使用している。

087225

WebLogic Server 6.1 SP04 以降の LDAP レルム V2 では、多数のグループ (300 より多い) に対して getGroups() を実行したときに、Open LDAP サーバに関して問題がある。この問題の原因は、Open LDAP に存在するキャッシングのバグである。

回避策 : getGroups() メソッドを使って Open LDAP サーバからグループを取得するときは、取得するグループが 300 を超えないようにする。

 


サーバに関する確認済みの問題

変更要求番号

説明

039575

サーブレットが同じサーバに対して HTTP 接続を行うと、ロード時にデッドロックが発生する場合がある。この問題を避けるには、DTD を返すサーブレットで別の実行キューを使用する。

042556

weblogic.Admin コマンドがユーザおよびパスワード オプションを要求する。次に例を示す。

java weblogic.Admin -username system -password gumby1234

ユーザ名「system」がほとんどの機能 (VERSION など) で要求される。-username system を指定しない場合、次のエラーが発生する。

Exception in thread "main" java.lang.SecurityException: Authentication for user system denied in realm weblogic

<<no stack trace available>>

051980

HotSpot VM 1.3 の使用中に、スレッド ダンプを行うと JVM が終了し、サーバがクラッシュする。

052300

アプリケーションを applications ディレクトリにない .ear ファイルとしてデプロイする場合、および ServletReloadCheckSecs が -1 に設定されている場合には、Call-by-Reference を使用できない。

052406

管理対象サーバを立て続けに起動しようとすると、問題が発生する。この問題は、起動間隔を空けることによって修正できる。

052543

RMI-IIOP を使ってサーバ間で複雑なオブジェクトを受け渡しする場合、初期コンテキストを取得するのに com.sun.jndi.cosnaming.CNCtxFactory を使用すると問題が多いので、代わりに weblogic.jndi.WLInitialContextFactory を使用することが推奨される。

053328

HP の使用中にメモリ不足エラーが発生した場合には、max_thread_proc というカーネル パラメータを 1024 に増やすようにする。

053330

SNMP エージェントでは、SNMP 管理システムとの通信に WebLogic のオブジェクト識別子 (OID) が使用される。バージョン 6.1 の WebLogic OID は バージョン 5.1 の WebLogic OID とは異なっている。バージョン 5.1 では .1.3.6.1.4.140.600 だったが、バージョン 6.1 では .1.3.6.1.4.140.625。

054504

JVM で -hotspot オプションを使用しているときに、Windows 2000 および NT で問題が発生する。 この問題の原因は Sun のバグ (http://developer.java.sun.com/developer/bugParade/bugs/4479571.html) にあり、サーバの断続的なクラッシュが発生する。この問題を避けるには、次の設定を試してみる。

-XX:MaxPermSize=128m

このオプションを使用すると、クラスの表現に HotSpot で使用される領域のサイズを増やすことができる。

057008

NTSocketMuxer getCPUCount() で不適当な値が返される。インストールされる Microsoft のサービス パックでは、すべての CPU が認識されない。

058868

HotSpot 仮想マシンのエラーにより、Solaris 上で動作する WebLogic Server は、信号 11 によって突然クラッシュするおそれがある。

059018、063937、063939、063965

デフォルトでは、WebLogic Server 6.1 サービス パック 2 のクライアントは、WebLogic Server 6.1 GA または 6.1 サービス パック 1 のサーバと相互運用できない。このことは、6.1 SP2 クライアントだけでなく、6.1 GA サーバまたは 6.1 SP1 サーバに対するクライアントとして機能する 6.1 SP2 サーバにも当てはまる。

SP2 クライアントが 6.1 GA サーバまたは 6.1 SP1 サーバと対話するためには、WebLogic Server 6.1 サービス パック 2 の起動スクリプトに次のスイッチを追加する必要がある。


-Dweblogic.61compat=true

065410

Sun のバグのため、ロードするクラスの数が多すぎると、WebLogic Server の起動時に java lang.OutOfMemory エラーが発生する場合がある。

回避策 : WebLogic Server を初期化する際に、次の構文を使って、JVM のオプション -XXMaxPermSize の値を大きくする。

java -XX:MaxPermSize=<value>K

<value> はキロバイト単位の適当な値である。JVM が使用するデフォルトの最大値は 32 MB である。

この問題は Sun に報告済み。

078289

Java Plug-in 1.3.1_02 または 1.3.1_03 を使用するブラウザがアプレットを含むページを更新すると、JVM は、アプレットに対して destroy()init() を同時に呼び出す。呼び出しが同時に行われるので、アプレットが初期化を試みる前に正しく閉じない場合がある。

回避策としては、アプレットの init() メソッドの中で thread.sleep() を使用して、1000 ミリ秒ほど初期化を延期する。これにより、アプレットが再初期化を試みる前に、destroy() の呼び出しが必要なクリーンアップを確実に終了できる。

 


サーブレットと Web アプリケーションに関する確認済みの問題

変更要求番号

説明

041528

サービス パックを適用していない WebLogic Server 6.0 の最初のリリースで生成されたクッキーが、WebLogic Server 6.1 で認識されない。

046536

HTTPS が仮想ホスティングでは機能しない。

046537

仮想ホストでは、独自のセキュリティ レルムを定義する必要がある。

048678

以前は、Web アプリケーションからユーザをログアウトさせる場合に、session.invalidate() を使用できた。現時点では、このメソッドは、ユーザが 1 つの Web アプリケーションにのみログインしている場合にしか機能しない。 ユーザが複数の Web アプリケーションにログインすると、session.invalidate() ではユーザをログアウトできなくなる。これは、確認済みの問題というよりも、シングル サインオンを実装するための設計の変更である。サーバでは、サーブレット 2.2 仕様で指定されているとおりに Web アプリケーション レベルではなく、Web サーバ レベルでユーザが追跡される。複数の Web アプリケーションにログインしているユーザをログアウトさせる場合には、次のように処理する。

weblogic.servlet.security.ServletAuthentication.logout(request);

050811

フィルタ クラスを修正する場合は、Web アプリケーションを再デプロイして変更を適用する必要がある。

051311

Web アプリケーションの名前 (コンテキスト パス) ではスペースを使用できない。

051329

次の問題は単なる情報の提供であり、修正または変更されることはない (これが目的の機能であるため) 。

WebLogic Server の config.xml ファイルでは、アーカイブ Web アプリケーションの Path 属性はアーカイブ ファイルの名前自体ではなくアーカイブ ファイルのパスのみに設定する必要がある。一方、Web アプリケーション コンポーネントの URI 属性は、アーカイブ ファイルの名前のみに設定する必要がある。次に例を示す。

<Application Name=foo, Path=/apps>
<WebAppComponent Name=foo,URI=foo.war>
</Application>

下位互換性を実現するため、WebLogic Server 6.1 では Path 属性でアプリケーションのパスとアーカイブ ファイル名の両方を指定する config.xml が許容される (たとえば Path=/apps/foo.war) 。ただし、XML ファイルはパス (/apps) のみを指定するために上書きされる。

052686

WebLogic Server 6.1 に付属の Web アプリケーション デプロイメント記述子エディタでは、サーブレット 2.3 仕様の最終草案バージョン 1 がサポートされる。このため、最終草案バージョン 2 で導入された web.xml<ejb-local-ref> 要素をコンフィグレーションするための手段がエディタにはない。 なおかつ、エディタでは既存の Web アプリケーション デプロイメント記述子に存在する可能性のある <ejb-local-ref> が削除される。

CR088485

WebLogic Server 6.1 SP03 に、正しくないバージョンの Jakarta 正規表現マッチング ライブラリが含まれていた。 jakarta-oro-2.0.6.jar ではなく、jakarta-oro-2.jar が付属していた。 この結果、顧客の予期しない結果が発生していた。

回避策 : WebLogic Server のクラスパスで、weblogic.jar の前に、正しいバージョンの Jakarta (jakarta-oro-2.0.6.jar) を指定する。

089868

WebLogic Server 6.1 サービス パック 3 で行われた重要なパフォーマンスの改善 ( 083654 を参照) により、マルチバイトのヘッダで問題が発生するようになった。 以前は、未加工のバイトとして HTTP ヘッダを送信するのがデフォルトの動作であった。HTTP の仕様ではヘッダは ASCII のシングル バイト文字でなければならないと規定されているので、以前のこの動作は誤りであった。(この改善により WebLogic Servers 6.1 サービス パック 3 以下と WebLogic Servers 6.1 サービス パック 4 の間の相互運用性に問題が発生する可能性があることを、BEA は認識している)。

SP03 と SP04 の場合はヘッダが壊れる。回避策は以下のとおりである。

  • BEA Customer Support から入手できる CR089868_610sp3.jar パッチまたは CR089868_610sp4.jar パッチをインストールする。

  • そして、config.xml の <WebServer> 要素で、UseHeaderEncoding="true" と設定する。「true」に設定すると、サーバは、Content-Type の文字セットを使って、Content-Disposition ヘッダをエンコードする。「true」に設定しないと、デフォルトにより、サーバはプラットフォームのデフォルトのエンコーディングを使用する。結果としてエンコーディングが 8 ビット文字セットになる場合、サーバはどのエンコーディングも使用しないことに注意すること。

SP05 では、上記の 2 番目の項目で示したように UseHeaderEncoding="true" と設定するだけで、この問題に対処できる。

 


システム管理に関する確認済みの問題

変更要求番号

説明

034177

Administration Console では、アプリケーション ステータスの適切な属性値が設定されない。

034955

デプロイメント用にスキャンするアプリケーション ディレクトリ リストが永続的でない。複数のアプリケーション ディレクトリがサポートされていない。

035670

MBean 名を再設定すると、コンフィグレーションが適切に保存されない。この問題を避けるには、次の操作を行う必要がある。

  1. Administration Console で MBean を複製する。

  2. クローンの名前を変更する。

  3. オリジナルの MBean を削除する。

036201

Administration Console で変更を行った後に、WebLogic Server を再起動できず、Fatal initialization exception Throwable: weblogic.server.ServiceFailureException: Initializing JNDI: javax.naming.ServiceUnavailableException [Root exception is java.net.UnknownHostException: Unknown protocol: 'Protocol: 'unknown''] というメッセージが表示されることがある。

038589

管理対象サーバが HTTPS を使って管理サーバと通信している場合、管理対象サーバの検出が機能しない。たとえば、管理サーバが -Dweblogic.management.discover=true コマンド ライン引数を使用して再起動された場合、かつ実行中の管理対象サーバが -Dweblogic.admin.host=https://<adminhost>:<adminport> 引数を使用して起動されていた場合、管理対象サーバの検出が機能しない。

回避策 : 管理サーバとの HTTPS 接続を使用して管理対象サーバを起動する場合に、管理サーバを -Dweblogic.management.discover=true 引数を使用して再起動しないようにする。

代わりに、次の手順に従う。

1. discover フラグを付けずに管理サーバを再起動する。

2. 管理サーバが起動したら、次のコマンドを実行して管理サーバに強制的に検出させる。

java weblogic.Admin -url <ADMINHOST>:<ADMINPORT> -username system -password <SYSTEM-PASSWORD>

INVOKE -mbean "<YOURDOMAIN>:Type=Domain,Name=<YOURDOMAIN>" -method discoverManagedServers

039033

WebLogic Server で、存在しないアプリケーションをアンデプロイするエラーが発生する。

039311

複製されている管理対象サーバを起動すると、ConfigurationException が送出される。この問題を避けるには、複製するのではなくサーバを作成する。

039532

.ear ファイルをアプリケーション ディレクトリの下に展開した場合に、Administration Console を使用しないとこのファイルをアンデプロイできない。また、アプリケーションがアンデプロイされた場合に、Administration Console を使用しないとこのアプリケーションを再デプロイできない。

040034

すでに管理サーバとして実行中のサーバを管理対象サーバとして起動しようとすると、次のような紛らわしいエラーが発生する。

<Dec 8, 2000 7:44:02 PM PST> <Error> <Configuration Management> <Error connecting to admin server and initializing admin home: admin URL: t3://localhost:7001

java.lang.NullPointerException

回避策 : この使い方は適切ではない。同じサーバを管理サーバとしても管理対象サーバとしても起動することはできない。この問題を避けるには、新しいサーバを管理対象サーバとして定義して、起動時にその名前を -Dweblogic.Name で指定する。

040124

管理サーバの実行中に、既存の .jar または .ear ファイルをアプリケーション ディレクトリにコピーしてもアプリケーションが再デプロイされない。次のエラーがサーバ ログに記録される。

javax.naming.NameAlreadyBoundException: Can't rebind anything but a replica-aware stub to a name that is currently bound to a replica-aware stub; remaining name '' <Dec 12, 2000 12:09:37 PM PST> <Error> <J2EE> <Error deploying application <YOUR-EJB-NAME>: Could not deploy: '<YOUR-FILE-NAME>': JNDI name in use

guest ユーザまたは everyone グループに、weblogic.jndi に対するルックアップ パーミッションが付与されていることを確認する。 fileRealm.properties ファイルの記述に acl.lookup.weblogic.jndi=everyone が含まれている必要がある。

041290

ユーザ名プロパティを weblogic.Admin または weblogic.Server コマンド ラインから設定する場合、そのユーザ名は「system」とする必要がある。 ただし、ユーザのスクリプトを壊さないために、ユーザ名の構文に従う。ユーザ名は、config.xml ファイルでは変更することができない。weblogic.management.password プロパティの値はシステム パスワードでなければならない。

0422320、55217

管理サーバと同じ名前のドメインを使用することはできなくなった。ネームスペースの衝突によって非常に多くの問題が発生するため、この問題に対する対処は行われない。

048833

ServletRuntime MBean には、getName() メソッドがある。以前のリリースでは、このメソッドはサーブレットの名前を返した。これ以外のすべての MBean では、getName() メソッドは MBean の名前を返す。一貫性を保つため、WebLogic Server 6.1 では、ServletRuntime MBean の getName() メソッドも MBean の名前を返すように変更されている。サーブレットの名前を返す新しいメソッド getServletName()ServletRuntime MBean に追加されている。

052657

アプリケーションがまだ実際に存在していないときに、config.xml でアプリケーションに対するコンフィグレーション属性を設定すると、Administration Console ではアプリケーションがデプロイされたものと誤って表示される。

077958

NodeManager を使用すると、次の例外が送出される場合がある。

<May 18, 2002 8:53:36 PM PDT> <Error> <NodeManager@localhost:5555>

<SocketInputHandler: handshake failed 'FATAL Alert:HANDSHAKE_FAILURE - The

handshake handler was unable to negotiate an acceptable set of security

parameters.' on socket /172.17.24.148>

この例外の原因は、次のいずれかである。

  • NodeManager を実行するために使われている JVM のバージョンを、WebLogic Server がサポートしていない。

  • AIX プラットフォーム上で NodeManager が動作している場合、JSEE が衝突する。 AIX プラットフォームで NodeManager が動作している場合は、『動作確認状況』の「サポート対象プラットフォームの一覧」で詳細を参照。

CR093687

WebLogic Server 6.1 SP03 以降では、起動クラスに対して LoadBeforeAppDeployments=true を指定すると、動的接続プールを作成できない。接続プールは作成されず、ハング状態になる。例外は報告されない。

LoadBeforeAppDeployments=false と指定すると、接続プールは正常に作成される。

CR097152

WebLogic Server 6.1 SP03 および SP4 では、管理サーバを再起動すると、次の例外が発生する場合がある。

java.rmi.ConnectException: This RJVM has already been shutdown

WebLogic Server 6.1 SP05 では、この問題は再現しなかった。

 


ツールに関する確認済みの問題

変更要求番号

説明

063745

weblogic.refresh ツールのドキュメントには、ワイルドカード (*.gif など) を使ってファイルを指定できること、およびカンマ区切りのリストを使って複数のファイルを指定できることが記述されている。しかし、WebLogic Server サービス パック 2 の weblogic.refresh では、カンマ区切りのリストの中でワイルドカードを使うことはできない。

 


Web サービスに関する確認済みの問題

変更要求番号

説明

046807

Java クライアントの JAR ファイルで Java クライアント アプリケーションによって生成される例外メッセージがインターナショナライズされていない。

047435

RPC スタイルの Web サービスでは、EJB によって送出されるユーザ定義の例外が、Web サービス クライアント API を使用してサービスを呼び出すクライアント アプリケーションに伝播されない。それらの例外は、代わりに汎用 SOAPFault 例外として伝播される。

049966

EJB などの WebLogic Server 6.0 コンポーネントで WebLogic Server Web サービス クライアント API (バージョン 6.1) を使用すると、java.rmi.ConnectException: No available router to destination というエラーが発生する。この原因は、クライアント コードで指定している初期コンテキスト ファクトリではなく、6.0 JNDI URL ファクトリが呼び出されることにある。

この問題を避けるには、初期コンテキストの作成時に次のコードを追加することによって 6.0 JNDI URL ファクトリを除去する。

h.put(Context.URL_PKG_PREFIXES, "");

051917

メッセージ スタイルの Web サービスでは、対象となる JMS 送り先で発生する JMS 例外が、Web サービス クライアント API を使用してサービスを呼び出すクライアント アプリケーションに伝播されない。

055062

wsgen Ant タスクの clientjar 要素の path 属性は、path 属性が build.xml ファイルで指定されていない場合は、ドキュメントにあるとおりデフォルトで client.jar にならない。

055096

パッケージ名のない JavaBean は、パラメータとして WebLogic Web サービスに渡すことができない。

055596

相互運用性の問題。WebLogic Web サービスは、SOAP 1.1 の多重参照複合データ型をサポートしていない。

056287

相互運用性の問題。WebLogic Web サービスは、SOAP エンコーディングの xsd:timeInstant および xsd:dateTime をサポートしていない。

056452

相互運用性の問題。WebLogic Web サービスは、多次元配列データ型をサポートしていない。

056634

相互運用性の問題。WebLogic Web サービスは、SOAP-ENV:Header 属性をサポートしていない。

058175

相互運用性の問題。WebLogic Web サービスは、xsd:ur-type 配列データ型をサポートしていない。

058840

相互運用性の問題。WebLogic Web サービスのクライアント API は、戻り値の型を複数指定している WSDL にバインドできない。

059782

相互運用性の問題。WebLogic Web サービスのクライアント API は、<binding> セクションに <soap:header> 要素を含む WSDL を使用する Web サービスの呼び出しをサポートしていない。

059858

相互運用性の問題。WebLogic Web サービスは、次の SOAP リクエストの例で示すように、生成される SOAP リクエストにおいて 1999 XML スキーマの URL だけを使用する。

xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance' xmlns:xsd='http://www.w3.org/1999/XMLSchema'

061161

相互運用性の問題。 WebLogic Web サービスのクライアント API は、<soap:body> 要素の use="literal" 属性をサポートしていない。

061335

相互運用性の問題。WebLogic Web サービスのクライアント API は、<message> 要素内の element 属性に <part> 要素を含む WSDL を使用する Web サービスの呼び出しをサポートしない。

061350

相互運用性の問題。WebLogic Web サービスのクライアント API は、デフォルトでは、修飾名を含む SOAP リクエストを生成する。このため、.NET のような他の一部の非 WLS Web サービスとの相互運用性が十分ではない。

この問題を回避するには、クライアント アプリケーションに次のコードを追加する必要がある。

CodecFactory factory = CodecFactory.newInstance();
SoapEncodingCodec codec = new SoapEncodingCodec();
codec.writeQualifiedName( false );
factory.register( codec );

061572

相互運用性の問題。 WebLogic Web サービスのクライアント API は、WSDL の <soap:binding> 要素の style="document" 属性をサポートしていない。

061606

wsgen Ant タスクを使ってメッセージスタイルの Web サービスをアセンブルすると、生成される WSDL にリテラル エンコーディングが追加される。そのため、必要がない場合でも、プログラムでは Web サービスを呼び出して CodecFactory に LiteralCodec を登録する必要がある。LiteralCodec を使用するには、クライアント コンピュータに weblogic.jar ファイルが存在していなければならない。

061929

相互運用性の問題。WebLogic Web サービスのクライアント API は、クライアント アプリケーションに次のコードが含まれていても、常に、生成する SOAP リクエストの中で修飾名を使用する。

codec.writeQualifiedName( false );

77911

WebLogic Server は、Java の組み込みデータ型 byte[]xsd:hexBinary に正しくマップする。ただし、JAX-RPC の仕様では、byte[]xsd:base64Binary にもマップされなければならないと規定されている。現在、WebLogic Server 6.1 SP3 の Web サービスには、このマッピングを指定する方法はない。

78062

WebLogic Web サービスは、パラメータまたは戻り値として配列および JavaBean を使用する .NET Web サービスと相互運用できない。

78530

Web サービスのサンプルが、Solaris オペレーティング システム上に構築されない。

 


WebLogic Tuxedo Connector に関する確認済みの問題

変更要求番号

説明

052737

WebLogic-Tuxedo Connector の XML コンフィグレーション ファイルでノード名を間違ってコンフィグレーションすると、システムがハングする。

次の手順に従って、システムを再起動する。

1. WebLogic Server を停止する。

2. WebLogic Tuxedo Connector の XML コンフィグレーション ファイルにあるノード名を確認する。

3. 有効なノード名で WebLogic Tuxedo Connector の XML コンフィグレーション

ファイルを更新する。

4. WebLogic Server を再起動する。

077553

Tuxedo から WebLogic Server に整数配列オブジェクトを値で渡すと、weblogic.utils.AssertionError が送出される。

この問題は WebLogic Server 6.1 SP04 で解決された。 「077553」を参照。

078774

tBridge セッションの接続が、Tuxedo /Q からのメッセージの取得を停止する場合がある。

079630

ユーザは普通、setJMSCorrelationID(String) メソッドを使って相関 ID を設定しようとする。このメソッドは、32 文字の文字列を受け取り、64 バイトの配列に変換する。JMS は、文字列を UTF-16BE として格納する。tBridge が Tuxedo から受け取る相関 ID は、32 バイトで表された 32 文字である。tBridge は、setJMSCorrelationIDAsBytes(byte[]) メソッドを使って、JMS 受信キューに対するメッセージを設定する。このような 2 つの文字列は、ASCII では同じであっても、長さが異なるために比較しても一致しない。

相関 ID を、Tuxedo から受信 JMS キューに返される ID と比較する必要がある場合は、相関 ID の 16 進数値をバイト配列に格納した後、setJMSCorrelationIDAsBytes() メソッドと getJMSCorrelationIDAsBytes()メソッドを使って ID を作成して、Tuxedo から受信 JMS キューに返される ID と比較する。

例えば、相関 ID が「1234567890ABCDEFGHIJKLMNOPQRSTUV」という文字列の場合、次のようになる。


private byte[] coridbyte={0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x38,0x39,0x30,0x41,0x42,0x43,0x44,
0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,
0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,
0x53,0x54,0x55,0x56};
msg.setJMSCorrelationIDAsBytes(coridbyte);
corIDasBytes = msg.getJMSCorrelationIDAsBytes();

corIDasBytes には、Tuxedo から返される相関 ID と比較するための正しい値が設定される。

 


XML に関する確認済みの問題

変更要求番号

説明

050274

Administration Console を使用してパーサまたはエンティティの XML レジストリ エントリを追加するときに、パブリック ID を指定しないと、そのエントリにアクセスして編集できない。

この問題を避けるには、XML レジストリ エントリの作成時には常にパプリック ID のフィールドに値を入力する。

052985

組み込みの Xalan トランスフォーマ パッケージ weblogic.apache.xalan に、Xalan 互換性 API が含まれていない。これらのクラスは、Apache Web サイトから直接 Xalan 2.0.1 をダウンロードしていれば、xalanj1compat.jar ファイルに含まれている。 互換性 API の詳細については、http://xml.apache.org/xalan-j/usagepatterns.html#compat を参照。

これらのクラスが WebLogic Server に含まれていないので、Xalan 2.0.1 では非推奨となっている Xalan 1.X のコードがアプリケーションで使用されると、アプリケーションが正常に機能しなくなる。この問題を避けるには、非推奨の Xalan 1.x クラスを使用しないようにコードを変更するか、代わりに JAXP を使用するよう Xalan コードを書き換える。

 


ZAC に関する確認済みの問題

変更要求番号

説明

CR047534

ZAC Publish Wizard で設定される JRE Update Frequency プロパティは現在ではサポートされていないため、JRE のアップデートが必要な場合には、次のいずれかの方法で行う必要がある。

JRE がアプリケーションにパッケージ化されている場合、次の条件を満たすときにのみクライアントに対する再インストールが行われる。

  • JRE 全体のインストール ディレクトリがクライアントから削除されていて、かつクライアント実行可能ファイルまたは ZAC のブートストラップ ルーチンが実行されている場合。または、

  • 新しいバージョンの JRE のライブラリ パッケージが WebLogic Server にパブリッシュされていて、かつクライアントで (クライアント実行可能ファイルでなく) ブートストラップ ルーチンが実行されている場合。

サーバでは、パッケージのバージョニングは (バージョン番号がパッケージ名の一部を構成する場合を除き) 行われない。まだパブリッシュされていないパッケージを「前のバージョンに戻す」ことのみが可能である。

061699

WebLogic Server では、デフォルト Web アプリケーションの登録は自動的には行われない。ZAC はデフォルト Web アプリケーションを通してクラスを取得するので、ZAC を使用する場合は、デフォルト Web アプリケーションを明示的にコンフィグレーションする必要がある。

デフォルト Web アプリケーションを明示的にコンフィグレーションしないと、ZAC は機能せず、サーバのログには次のようなメッセージが記録される。

<Nov 2, 2001 2:50:49 PM PST> <Error> <HTTP> <HttpServer(7908535,null default

ctx,myserver) found no context for "/drp-exports/ZACHello/index.xml". This

request does not match the context path for any installed web applications

and there is no default web application configured.>

<Nov 2, 2001 2:50:49 PM PST> <Error> <HTTP> <HttpServer(7908535,null default

ctx,myserver) found no context for "/drp-publish/ZACHello/". This request

does not match the context path for any installed web applications and there

is no default web application configured.>

 

back to top previous page next page