在访问通讯录时出现“服务器错误”。Web Server 日志记录了一个异常“org.apache.xml.utils.WrappedRuntimeException: 输出格式必须有 '{http://xml.apache.org/xslt}content-handler' 属性!”
JDK Web Server 指向的版本低于 JDK 1.4.2 时,Web Server 会抛出此异常。Communications Express 使用最新版本的 xalan 和 xerces 进行 XML/XSL 解析。在以下情况下会出现此错误:
您正在使用未通过 JES 安装程序部署的 Web Server 6.1。JDK 1.4.1 通常与 Web Server 6.1 捆绑在一起。
Java Enterprise System 附带的 xalan 和 xerces 共享组件的版本不是最新的。
解决方法
如果出现此错误的原因是没有通过 JES 安装程序安装 Web Server,请手动升级 Web 容器的 JDK 版本,它在 server.xml Web Server 配置文件中定义为 java 标记的 java_home 属性。
或者
从 Java Enterprise System 重新安装 Web Server,并让安装过程自动升级 JDK。
如果执行了此步骤,则必须重新部署所有其他的 Web 应用程序。为了防止出现意外,应备份 server.xml 文件。
如果出现此错误的原因是 xalan 和 xerces 共享组件不是最新版本,请从 uwc-deployed-path/WEB-INF/lib 中删除 xalan.jar 和 xerces.jar 文件的符号链接。
例如:
# cd /var/opt/SUNWuwc/WEB-INF/lib
# rm xalan.jar xercesImpl.jar
然后重新启动 Web Server。
从 Communications Express 访问通讯录时,出现消息“进行此操作时发生错误”。
如果个人通讯录 (Personal Address Book, PAB) 的 LDAP 配置不正确,会发生此错误。访问“通讯录”选项卡时,Communications Express 将连接到个人通讯录存储(即为 PAB 配置的 LDAP)。如果个人通讯录存储无法建立连接,就会显示此错误。
解决方法
检查 WEB-INF/config/ldappstore/db_config.properties 中的 LDAP 配置。
编辑此文件中的不正确配置设置。
重新启动部署 Communications Express 的 Web Server。
有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数一节。
在执行搜索时,公司目录显示嵌入错误。
解决方法
检查 WEB-INF/config/corp-dir/db_config.properties 中的 LDAP 配置是否存在错误。如果有,请更正这些错误,然后重新启动在其中部署 Communications Express 的 Web 容器。
有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数一节。
查看公司目录的联系人时在“视图”窗口中显示错误
用于访问公司目录中的联系人条目的关键字不是 uid 时,会显示此错误。
uid 是 Communications Express 设置的默认值。
解决方法
要访问公司目录中的联系人,应该在 uwc-deployed-path/WEB-INF/config 中的 db_config.properties 和 xlate-inetorgperson.xml 配置文件中将该关键字的值设置为所需值。
在文件中进行以下更改:
在 uwc-deployed-path/WEB-INF/config/WEB-INF/config/corp-dir/db_config.properties 中设置适当的关键字值。
设置适当的关键字替代 uwc-deployed-path/WEB-INF/config/WEB-INF/config/corp-dir/xlate-inetorgperson.xml 的 entry entryID="db:uid" 中的 uid。
重新启动部署 Communications Express 的 Web Server。
有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数部分。
无法设置 psRoot 的值。
“用户首选项”中的 LDAP 属性 psRoot 用于 Address Book Server 水平可伸缩性。有关更多详细信息,请参见支持 Address Book Server 的水平可伸缩性一节。如果部署不需要 Address Book Server 水平可伸缩性,则可以忽略此错误。
用户首次登录到 Communications Express 时,系统会尝试自动设置 psRoot,但有时可能无法自动设置该值。没有安装 Java Enterprise System Directory Server,或者在安装 Java Enterprise System Directory Server 后没有运行 Java Enterprise System 的 comm_dssetup.pl,通常会出现这种情况。这会导致不更新 LDAP Schema。
由于模式未更新,因此无法手动设置 psRoot 属性,即使部署可水平伸缩的 Address Book Server 需要该属性。
解决方法
要启用 psRoot 属性的设置,请更新 Directory Server 以包括 psRoot 属性。要执行此操作,请将属性 psRoot 包括在 ipUser 对象类的定义中,该定义位于
Directory ServerInstance/config/schema/99user.ldif
仅在以下情况下才需要更新 Directory Server 以使其包括 psRoot 属性:在当前部署中没有安装 Java Enterprise System Directory Server,或者在安装 Java Enterprise System Directory Server 后没有运行 Java Enterprise System 的 comm_dssetup.pl。