有关 Java System Enterprise 安装问题的信息包含在 JES5 发行说明中。参见《Sun Java Enterprise System 5 Release Notes for UNIX》中的“Access Manager Installation Issues”一节。
本节包含以下已知问题:
WebLogic 上的 Access Manager 单个 WAR 部署需要 JAX-RPC 1.0 JAR 文件才能与客户机 SDK 通信 (6555040)
由 JES 5 安装程序为 Websphere 5.1 生成的单个 WAR 需要附加的 .jar 文件 (6550261)
分布式验证需要更改才能与 Weblogic 和 Webshpere 上的 Access Manager 单个 War 共同工作 (6554372)
Weblogic 8.1 上部署的单个 WAR 在 JAX-RPC 初始化时存在一个已知问题。为了让 Access Manager 与客户机 SDK 通信,需要用 JAX-RPC 1.0 jar 文件替换 JAX-RPC 1.1 jar 文件。
解决方法:
有两种方法可以获得 WAR 文件。一种是通过将 Access Manager 设置为“以后再配置”选项运行 Java Enterprise System 5 安装程序,另一种是从 Sun 下载站点下载。
如果已经通过选择“以后再配置”选项运行 JES 5 安装程序生成了 WAR 文件:
从 AccessManager-base/SUNWam/web-src/WEB-INF/lib 中删除下列 JAXRPC 1.1 .jar 文件:
jaxrpc-api.jar
jaxrpc-spi.jar
jaxrpc-impl.jar
将下列 .jar 文件从其各自的位置复制到 AccessManager-base/SUNWam/web-src/WEB-INF/lib 中:
/opt/SUNWam/lib/jaxrpc 1.0 中的 jaxrpc-api.jar
/opt/SUNWam/lib/jaxrpc 1.0 中的 jaxrpc_ri.jar
/opt/SUNWmfwk/lib 中的 commons-logging.jar
转至 AccessManager-base/SUNWam/bin/ 并运行下列命令:
amconfig —s samplesilent
有关使用 amconfig 脚本配置 Access Manager 的更多信息,参见 Access Manager Post Installation Guide 中的“Running the Access Manager amconfig Script”。
如果已经从 Sun 下载站点 (http://www.sun.com/download/index.jsp) 下载了 WAR 文件:
获取 ZIP_ROOT/applications/jdk14/amserver.war 文件并将它解压缩到临时位置,如 /tmp/am-staging。
从 /tmp/am-staging/WEB-INF/lib 中删除下列 JAXRPC 1.1 .jar 文件:
jaxrpc-api.jar
jaxrpc-spi.jar
jaxrpc-impl.jar
将 ZIP_ROOT/applications/jdk14/jarFix 目录中的下列 JAXRPC 1.0 .jar 文件及通用日志 .jar 文件复制到 /tmp/am-staging/WEB-INF/lib 中:
jaxrpc-api.jar
jaxrpc-ri.jar
commons-logging.jar
重新创建和部署 Access Manager WAR。有关更多信息,参见 Access Manager Post Installation Guide 中的“Deploying Access Manager as a Single WAR File”。
如果 Access Manager 单个 WAR 是通过选择“以后再配置”选项运行 JES 5 安装程序生成的,则需要附加 .jar 文件才能部署 Websphere 5.1。
解决方法:
从 /usr/share/lib 将 jsr173_api.jar 复制到 AcessManager-base/opt/SUNWam/web-src/WEB-INF/lib 目录中。
转至 AccessManager-base/SUNWam/bin/ 并运行下列命令:
amconfig —s samplesilent
有关使用 amconfig 脚本配置 Access Manager 的更多信息,参见 Access Manager Post Installation Guide 中的“Running the Access Manager amconfig Script”。
为使 Websphere 5.1 的 Access Manager 单个 WAR 部署能成功地与客户机 SDK 通信,必须对 server.xml 文件做一些更改。
解决方法:
要正确更改 server.xml 文件,请参见以下步骤:
获取 amserver.war 文件。有两种方法可以获取单个 WAR 文件:通过选择“以后再配置”选项运行 JES 5 安装程序,或从 Sun 下载站点下载。
如果通过 JES 5 安装程序生成 WAR 文件,确保完成已知问题 #6550261 中列出的步骤。
将 Access Manager WAR 解压缩到临时位置,如 /tmp/am-staging。
从 /tmp/am-staging/WEB-INF/lib 中将下列共享 .jar 文件复制到共享位置(如 /export/jars):
jaxrpc-api.jar jaxrpc-spi.jar jaxrpc-impl.jar saaj-api.jar saaj-impl.jar xercesImpl.jar namespace.jar xalan.jar dom.jar jax-qname.jar jaxb-api.jar jaxb-impl.jar jaxb-libs.jar jaxb-xjc.jar jaxr-api.jar jaxr-impl.jar xmlsec.jar swec.jar acmecrypt.jar iaik_ssl.jar iaik_jce_full.jar mail.jar activation.jar relaxngDatatype.jar xsdlib.jar mfwk_instrum_tk.jar FastInfoset.jar jsr173_api.jar
从临时位置的 /tmp/am-staging/WEB-INF/lib 中删除相同的 .jar 文件。
更新 Webshpere 实例的 server.xml。如果默认实例位置是 /opt/WebSphere/AppServer/config/cells/node-name/nodes/node-name/servers/server1,请更改 server.xml 里的jvmEntries,如下所示:
<classpath>/export/jars/jaxrpc-api.jar:/export/jars/jaxrpc-spi.jar: /export/jars/jaxrpc-impl.jar:/export/jars/saaj-api.jar: /export/jars/saaj-impl.jar:/export/jars/xercesImpl.jar: /export/jars/namespace.jar:/export/jars/xalan.jar:/export/jars/dom.jar: /export/jars/jax-qname.jar:/export/jars/jaxb-api.jar:/export/jars/jaxb-impl.jar: /export/jars/jaxb-libs.jar:/export/jars/jaxb-xjc.jar:/export/jars/jaxr-api.jar: /export/jars/jaxr-impl.jar:/export/jars/xmlsec.jar:/export/jars/swec.jar: /export/jars/acmecrypt.jar:/export/jars/iaik_ssl.jar: /export/jars/iaik_jce_full.jar:/export/jars/mail.jar: /export/jars/activation.jar:/export/jars/relaxngDatatype.jar: /export/jars/xsdlib.jar:/export/jars/mfwk_instrum_tk.jar: /export/jars/FastInfoset.jar:/export/jars/jsr173_api.jar</classpath>
重新启动容器。
从 /tmp/am-staging 重新创建和部署 Access Manager WAR。有关更多信息,参见 Access Manager Deployment Planning Guide 中的 Deploying Access Manager as a Single WAR File。
因为容器是 JDK14 版本,分布式验证 WAR 需要附加 jar 文件才能为 Weblogic 8.1 及 Websphere 5.1 解析。JDK14 .jar 文件位于 .zip 文件的以下目录中:
ZIP-ROOT/applications/jdk14/jarFix
解决方法:
对于 Weblogic 8.1:
用设置脚本配置分布式验证。参见 Access Manager Post Installation Guide 中的“Deploying a Distributed Authentication UI Server”。
将更新过的分布式验证 WAR 解压缩到临时位置,如 /tmp/dist-auth。
从 ZIP-ROOT/applications/jdk14/jarFix 中将 xercesImpl.jar、dom.jar 及 xalan.jar 复制到 /tmp/dist_auth/WEB-INF/lib 目录中。
从临时位置重新生成分布式验证 WAR 并对其进行部署。有关更多信息,参见 Access Manager Post Installation Guide 中的“Deploying a Distributed Authentication UI Server WAR File”。
对于 Websphere 5.1:
用设置脚本配置分布式验证。参见 Access Manager Post Installation Guide 中的“Deploying a Distributed Authentication UI Server”。
将更新过的分布式验证 WAR 解压缩到临时位置,如 /tmp/dist-auth。
从 ZIP-ROOT/applications/jdk14/jarFix 中将 xercesImpl.jar、dom.jar 及 xalan.jar 复制到 /tmp/dist_auth/WEB-INF/lib 目录中。
编辑 WEB-INF/web.xml 文件并用 http://java.sun.com/dtd/web-app_2_3.dtd 替换 jar://web-app_2_3.dtd 。
从临时位置重新生成分布式验证 WAR 并对其进行部署。有关更多信息,参见 Access Manager Post Installation Guide 中的“Deploying a Distributed Authentication UI Server WAR File”。
部署为单个 WAR 的 Access Manager 使用单个组件根后缀(例如 dc=example)在 Directory Server 6 上配置会失败。但是,使用多个组件根后缀(例如 dc=example,dc=com)可以成功配置。
解决方法:使用多个组件根后缀,如 dc=example,dc=com。
如果在同一主机上对 Directory Server 配置第二个 Access Manager 单个 WAR 实例,则更新组织别名时会抛出异常。在不同主机上配置第二个实例就不会发生该问题。