Service Registry 3.1 リリースノート (UNIX 版)

互換性について

この節では、互換性に関連した次の問題について説明します。

サポートが終了する機能について

ユーザー登録メカニズム

Service Registry の本リリースは、独自のユーザー管理および認証メカニズムに依存しています。将来的な Registry のリリースでは、これは SAML ベースのメカニズム (ebXML Registry 標準で指定されている。このコンポーネントはこの標準の実装) に更新する予定になっています。

互換性に関連したバグ

Service Registry 3.1 の次のバグが、互換性に関連しています。

6422192: Service Registry 3.0 で Service Registry 3.1 管理ツールを使用していると NullPointerException が発生する

問題の概要:配備済みの Service Registry 3.0 で Service Registry 3.1 管理ツールを使用すると、cprm などのコマンドで NullPointerException が発生します。

対処方法:Service Registry 3.1 管理ツールは Service Registry 3.1 でのみ使用し、Service Registry 3.0 では Service Registry 3.0 管理ツールを使用してください。

6463868: JDK 1.6 を使用しているクライアントプログラムまたはサーバーでエラーが発生する

問題の概要:JAXR クライアントプログラムが JDK 1.6 環境で実行されている場合、または Service Registry が JDK 1.6 を実行しているシステムに配備されている場合は、プログラムがクエリーを実行したり操作を発行したりするとランタイムエラーが発生します。根本の問題は、Application Server が SOAP with Attachments API for Java (SAAJ) の Version 1.2 を使用しているにもかかわらず、JDK 1.6 が Version 1.3 を使用していることにあります。

対処方法:必要な回避方法には、クライアントシステムに対するものと、サーバーに対するものの 2 種類があります。

Procedureクライアントシステムの回避方法を実行するには

クライアントシステムの回避方法は、クライアントシステムが JDK 1.6 を実行している場合に必要です。この回避方法には、次の作業が含まれます。

  1. クラスパスに次の JAR ファイルが含まれていることを確認します。

    Solaris OS の場合:

    /usr/share/lib/saaj-api.jar
    /usr/share/lib/saaj-impl.jar

    Linux および HP-UX システムの場合:

    /opt/sun/share/lib/saaj-api.jar
    /opt/sun/share/lib/saaj-impl.jar

    たとえば、Linux システムの Ant ターゲットに次のような設定が含まれていれば、クラスパスは正常です。

    <path id="classpath">
      <fileset dir="/opt/sun/share/lib">
        <include name="*.jar"/>
      </fileset>
      ...
    </path>
  2. build.xml ファイル内の <java> ターゲットに次の <sysproperty> タグを追加します。

    <sysproperty key="javax.xml.soap.MessageFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl"/>
    <sysproperty key="javax.xml.soap.MetaFactory" 
       value="com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl"/>
    <sysproperty key="javax.xml.soap.SOAPConnectionFactory" 
       value="com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory"/>
    <sysproperty key="javax.xml.soap.SOAPFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl"/>

Procedureサーバーシステムの回避方法を実行するには

サーバーシステムの回避方法には、次の作業が含まれます。

  1. Application Server の lib ディレクトリに移動します。

    Solaris OS の場合: cd /opt/SUNWappserver/appserver/lib

    Linux および HP-UX システムの場合: cd /opt/sun/appserver/lib

  2. Application Server の lib ディレクトリ内の 2 つの SAAJ JAR ファイルのバックアップコピーを作成します。次に例を示します。


    cp saaj-api.jar saaj-api.jar.v1.2
    cp saaj-impl.jar saaj-impl.jar.v1.2
    
  3. Application Server の lib ディレクトリに SAAJ 1.3 JAR ファイルをコピーします。

    Solaris OS の場合:


    cp /usr/share/lib/saaj-api.jar .
    cp /usr/share/lib/saaj-impl.jar .
    

    Linux および HP-UX システムの場合:


    cp /opt/sun/share/lib/saaj-api.jar .
    cp /opt/sun/share/lib/saaj-impl.jar .
    
  4. 『Service Registry 3.1 管理ガイド』「Application Server 管理コンソールを使用する」の説明に従って、Application Server の管理コンソールにログインします。

  5. 「設定」ノードを開きます。

  6. サーバーノード server-config (Admin Config) を開きます。

  7. 「JVM 設定」をクリックします。

  8. 「JVM オプション」タブをクリックします。

  9. 「JVM オプションを追加」をクリックします。

  10. テキストフィールドに、次の行を入力します。


    -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
    
  11. 「JVM オプションを追加」をもう一度クリックします。

  12. テキストフィールドに、次の行を入力します。


    -Djavax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl
    
  13. 「保存 (Save)」をクリックします。

  14. 『Service Registry 3.1 管理ガイド』「レジストリ用 Application Server ドメインを停止および再起動する」にある説明に従います。

6475651: Application Server をアップグレードしたあと、Java ES 2005Q4 Service Registry のログインが失敗する

問題の概要:以前のバージョンの Service Registry (Java ES 2005Q4 以降) をインストールして使用していた場合で、Application Server の Java ES 5 バージョンにアップグレードしたが、Service Registry の Java ES 5 バージョンにはアップグレードしていない場合は、Web コンソールで以前に作成したのと同じ証明書を使用しようとするとログインの失敗が発生します。

対処方法:web.xml ファイルと Service Registry のセキュリティーポリシーファイルを編集します。

    Registry の Application Server ドメインを停止し、web.xml ファイルを編集するには、次の手順に従います。

  1. Service Registry のインストールディレクトリに移動します。

    Solaris OS の場合: cd /opt/SUNWsoar/install

    Linux および HP-UX システムの場合: cd /opt/sun/SUNWsoar/install

  2. Registry の Application Server ドメインを停止します。

    Ant-base/ant -f build-install.xml appserver.domain.stop

  3. ディレクトリ RegistryDomain-base /domains/registry/applications/j2ee-modules/soar/WEB-INF/ に移動します。

  4. テキストエディタで、ファイル web.xml を開きます。

  5. <security-constraint> タグ内の、</web-resource-collection> タグのあとに、次の行を挿入します。

    <auth-constraint>
      <role-name>have.client.cert</role-name>
    </auth-constraint>
  6. </security-constraints> タグのあとに、次の行を挿入します。

    <error-page>
      <error-code>400</error-code>
      <location>/registry/thin/AuthenticateError.jsp</location>
    </error-page>
    <security-role>
      <description>all subjects who have client certificates</description>
      <role-name>have.client.cert</role-name>
    </security-role>
  7. web.xml ファイルを保存して閉じます。

    セキュリティーポリシーファイルを編集して、ドメインを再起動するには、次の手順に従います。

  1. 次のディレクトリに移動します。

    Solaris OS の場合: cd /var/opt/SUNWsoar/domains/registry/config

    Linux および HP-UX システムの場合: cd /var/opt/sun/SUNWsoar/domains/registry/config

  2. テキストエディタで、ファイル server.policy を開きます。

  3. このファイルに次の許可を追加します。

    grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/soar/WEB-INF/lib/-"{
           permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
    
    grant codeBase "file:${com.sun.aas.instanceRoot}/generated/jsp/j2ee-modules/soar/-" {
          permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
  4. server.policy ファイルを保存して閉じます。

  5. Registry の Application Server ドメインを再起動します。

    Ant-base/ant -f build-install.xml appserver.domain.start

  6. Web ブラウザを開き、URL http://localhost:6060/soar を表示します。ログインして発行できるようになっているはずです。

6491246: HP-UX プラットフォームでアップグレードが失敗する

問題の概要:HP-UX システム上で以前のバージョンの Service Registry (Java ES 2005Q4 以降) をインストールして使用していた場合、Service Registry の Java ES 5 バージョンにアップグレードすると、HADB (High Availability Database) に問題があるというエラーメッセージとともにインストールが失敗します。問題は、HADB パッケージが、Java ES 5 インストーラがデフォルト以外の場所と認識している場所にインストールされていることです。

この問題は、Application Server の Java ES 2005Q4 バージョンをアンインストールし、Service Registry および Application Server の Java ES 5 バージョンをインストールする場合にも発生します。

対処方法:Application Server をアンインストールした場合、再インストールする前に sun-hadb パッケージを削除する必要があります。

Service Registry の Java ES 2005Q4 バージョンから Java ES 5 バージョンに直接アップグレードする場合は、手順がより複雑になります。

  1. sun-hadb パッケージを削除します。

  2. Service Registry および Application Server の Java ES 5 バージョンをインストールします。

  3. ファイル /opt/sun/appserver/config/asenv.conf を以下のように編集します。

    • 変更前の行

      AS_ANT="/opt/sun/share/lib/ant/bin"

      から

      AS_ANT="/opt/sun/bin"
    • 変更前の行

      AS_ANT_LIB="/opt/sun/share/lib/ant/lib"

      から

      AS_ANT_LIB="/opt/sun/share/lib"
    • 次の 2 行を追加します。

      AS_DERBY_INSTALL="/opt/sun/javadb"
      AS_MFWK_HOME=/opt/sun/mfwk/share
  4. ディレクトリ /opt/sun/appserver/lib で、サブディレクトリ endorsed を作成します。

  5. ファイル /opt/sun/javadb/lib/derby.jar をディレクトリ /opt/sun/appserver/lib/endorsed にコピーします。