Sun Java System Communications Express 6 2005Q4 管理指南

第 5 章 错误诊断

本章列出了您可能会遇到的常见问题以及创建和启用错误日志的步骤。

本章包含以下部分:

确定和诊断问题

Communications Express 提供了一个基于 Web 的集成通信客户端,它依赖于很多分散的产品。有时,在使用过程中这可能会带来问题,从而需要进行错误诊断。

要找出问题的原因,请在解决问题之前使用以下常用的错误诊断方法:

Procedure常用错误诊断方法

步骤
  1. 验证在配置产品时,是否已按照 Sun Java System Messaging Server 发行说明Sun Java System Communications Express 管理指南中提到的步骤进行操作。

  2. 启用 Communications Express 日志以查看详细的错误日志并确定错误的原因。有关启用日志记录的步骤,请参阅日志文件部分。

  3. 查看组件日志以查找报告的错误和异常。日志文件保存在安装、配置和运行 Communications Express 过程中遇到的错误的列表。

诊断常见问题

本部分概括了在安装、配置、启动过程中或访问 Communications Express 用户界面客户端组件时可能遇到的问题。

下面列出了 Communications Express 组件中的一些常见问题及其可能的原因。

配置 Communications Express

即使在重新启动 Web 容器后,也不反映配置更改。

确保已将配置更改应用于相应 config 路径中的文件。

在完成 Communications Express 配置之后,将在系统中创建以下配置目录:

要确保在应用程序中反映所做的更改,请对 uwc-deployed-path/WEB-INF/config 进行配置更改

其他两个目录(如 uwc-deployed-path/staging/WEB-INF/configuwc-basedir/SUNWuwc/WEB-INF/config)是配置器在配置过程中内部创建和使用的临时占位符。在应用程序中不会反映对它们所做的更改。

配置任务已失败。

要找出问题,请使用位于以下位置的日志文件:uwc-basedir/SUNWuwc/install/uwc-config _TIME-STAMP.log

其中 TIME-STAMP 为配置的时间戳,格式为 YYYYMMDDhhmmss

配置程序无法正常工作。

要找出问题,请调用配置程序,并使用以下调试模式启用调试选项:

-debug:可使用此选项来生成常规调试信息

-debugMessage:可使用此选项来生成错误和警告的日志

-debugWarning:可使用此选项来生成警告消息和错误消息的日志

-debugError:可使用此选项来生成错误消息的日志。默认情况下,将启用此选项。

UWC 应用程序启动失败,并且 Web 容器日志显示异常。

此错误可能由不完整或不正确的配置引起。

解决方法。

"chown" 命令在配置过程中已失败。

解决方法。

运行配置程序,并在配置程序的“Web 容器用户和组”面板中输入正确的 Web 容器用户和组值。

经过验证后,在已启用 Access Manager 的情况下访问 Communications Express 时,出现消息“进行此操作时发生错误”。

解决方法。

确保将 uwc-deployed-path/WEB_INF/config/uwcauth.properties 中的 uwcauth.identity.binddnuwcauth.identity.bindcred 属性设置为在安装 Access Manager SDK 时提供的 amAdmin DN 值。请参阅在 uwcauth.properties 文件中配置 Access Manager 参数部分。

虽然可能会向 uwcauth.identity.binddnuwcauth.indentity.bindcred 提供 Directory Manager 证书以用于 Access Manager SSO,但 Directory Manager 没有获取某些特定于域的属性所必需的 ACL,而 Communication Express 必须依靠这些属性才能正常工作。

不支持修改 Access Manager SDK 集成的 Web 容器配置。

配置器不支持修改 Access Manager SDK 集成的 Web 容器配置。

解决方法。

手动调用 Access Manager 附带的工具,以修改 Access Manager 的 Web 容器配置。

在 SSL 中不支持 Messaging SSO。

解决方法

要在 SSL 中支持消息传送 SSO,请执行以下步骤:

Procedure如何在 SSL 中启用 Messaging SSO

步骤
  1. 在 SSL 模式下配置 Web Server。

  2. 为 Web Server 的 SSL 端口配置 Communications Express。

  3. 设置 uwcauth.ssl.enabled=true

  4. uwcauth.https.port 设置为 Web Server 的 SSL 端口。

  5. 在 SSL 模式下启用 Messaging Server。

  6. uwcconfig.properties 中的 webmail.port 设置为 Messaging Server 的 SSL 端口。

  7. 为 Messaging Server 的非 SSL 端口提供 messagingsso.ims.url

  8. 在 Web Server 和 Messaging Server 上安装证书管理服务器根认证机构(Certificate Management Server root Certificate Authority, CMS 根 CA)。

  9. 重新启动 Web Server。

  10. 为指向 Messaging Server 的非 SSL 端口的 local.webmail.sso.ims.verifyurl 提供一个值。

  11. 重新启动 Messaging Server。

访问日历

从 Communications Express 访问日历时,出现消息“进行此操作时发生错误”。

此错误可能由以下一个或多个原因引起。

Communications Express 访问日历时,出现消息“日历不可用。无法显示视图。选定的日历已被删除或不存在,或者您不具有查看该日历的权限。请选择其他日历” 。

在非托管域设置方案中使用 commcli(用于 Schema 2)置备用户时,可能会出现此错误。因为 commcli 在用户的 LDAP 条目中错误地将 @domain 附加到 icsCalendar 属性值后面,所以显示此错误消息。

解决方法

要在非托管域环境中使用 commcli 置备用户,请在 commadmin 命令中使用 -k legacy 选项。对于托管域环境,请使用 -k hosted 选项。如果未指定 -k 选项,则假定为托管域设置。

例如,


示例 5–1 Commcli 置备


./commadmin user create -D admin -w password -X 
siroe .varrius .com -n siroe.varrius.com -p 85 -d 
siroe.varrius.com-F test -L user2 -l user2 
-Wuser2 -S mail,cal -k legacy
ok

               

或者

如果不能删除已置备用户的对应条目,请从 icsCalendar、icsSubscribedicsOwned 属性中手动删除 "@domain" 部分。

从 Communications Express 跨域搜索、邀请、订阅日历或查看其可用性时,出现消息“无法跨域搜索日历”、“无法跨域邀请日历”、“无法跨域订阅日历”或“无法跨域查看日历可用性”。

解决方法

要搜索、邀请、订阅日历或查看其可用性,需要启用跨域搜索。请参阅 Calendar Server 6 2005Q1 管理指南第 13 章中的“启用跨域搜索”部分。

有关默认事件状态过滤器的问题。

“选项日历”窗口中的“默认事件状态过滤器”指定了要在日、周和月日历视图中显示的事件。可用选项为:“已接受”、“暂定”、“已拒绝”和“无响应”。

如果选择“已接受”选项作为事件状态,则仅在日、周或月日历视图中显示您已接受的那些邀请。但是,将始终在日、周或月日历视图中显示您创建的所有事件。

在“选项日历”窗口中,默认情况下只有“已接受”和“暂定”处于选中状态,这意味着用户将无法看到已经拒绝或尚未作出响应的事件。

解决方法

要查看日、周、月和年视图中的所有事件,应该选择所有选项,即“选项日历”窗口中的“已接受”、“暂定”、“已拒绝”和“无响应”。

在上载大于 2 MB 的文件时,Communications Express 显示“服务器错误”。

如果上载的文件大于 2 MB,则在将事件和任务导入日历或将联系人导入通讯录时,将会发生此错误。

默认情况下,Communications Express 允许导入最大大小为 2 MB 的文件数据。但是,上载文件大小限制是可配置的。

解决方法

配置更大的上载文件大小限制。

要配置更大的上载文件大小限制,请在 web.xml 中配置过滤器 MultipartFormServletFilter 的以下 init 参数:

例如,要将上载文件大小增加到 10MB,请执行下面的配置步骤:

Procedure增加上载文件大小

步骤
  1. uwc-deployed-path/WEB-INF/web.xml 中的现有 web.xml 进行备份。

  2. 编辑 uwc-deployed-path/WEB-INF/web.xml 中的 web.xml 文件。

  3. 按照代码示例 5-2 中粗体显示的部分,配置 web.xml 中的 MultipartFormServletFilter


    <web-app\>
    ..
    ..
      <filter\>
        <filter-name\>MultipartFormServletFilter</filter-name\>
        <filter-class\>com.sun.uwc.calclient.MultipartFormServletFilter</filter-class\>
        ..
        ..
        <init-param\>
          <param-name\>fileSizeHardLimit</param-name\>
          <param-value\>10485760</param-value\>
          <description\>Ten mega bytes</description\>
        </init-param\>
        <init-param\>
          <param-name\>requestSizeLimit</param-name\>
          <param-value\>10485760</param-value\>
          <description\>Ten mega bytes</description\>
        </init-param\>
        <init-param\>
          <param-name\>fileSizeLimit</param-name\>
          <param-value\>10485760</param-value\>
          <description\>Ten mega bytes</description\>
        </init-param\>
        <init-param\>
          <param-name\>failureRedirectURL</param-name\>
          <param-value\>put your url here</param-value\>
          <description\>Request is redirected to this url when 
    uploaded file size crosses
    fileSizeHardLimit value</description\>
        </init-param\>
        ..
        ..
      </filter\>
    ..
    ..
    ..
    ..
    </web-app\>
  4. 重新启动 Web 容器以使更改生效。

Procedure访问通讯录

在访问通讯录时出现“服务器错误”。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 使用最新版本的 xalanxerces 进行 XML/XSL 解析。在以下情况下会出现此错误:

步骤
  1. 您正在使用未通过 JES 安装程序部署的 Web Server 6.1。JDK 1.4.1 通常与 Web Server 6.1 捆绑在一起。

  2. Java Enterprise System 附带的 xalanxerces 共享组件的版本不是最新的。

    解决方法

    • 如果出现此错误的原因是尚未通过 JES 安装程序安装 Web Server,请手动升级 Web 容器的 JDK 版本,它在 server.xml Web Server 配置文件中定义为 java 标记的 java_home 属性。

      或者

      从 Java Enterprise System 重新安装 Web Server,并使安装过程自动升级 JDK。


    注 –

    如果执行了此步骤,则必须重新部署所有其他的 Web 应用程序。作为预防措施,请创建 server.xml 文件的备份。


    • 如果出现此错误的原因是 xalanxerces 共享组件不是最新版本,请从 uwc-deployed-path/WEB-INF/lib 中删除 xalan.jarxerces.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)。如果个人通讯录存储无法建立连接,就会显示此错误。

    解决方法

  3. 检查 WEB-INF/config/ldappstore/db_config.properties 中的 LDAP 配置。

  4. 编辑不正确的配置设置。

  5. 重新启动部署了 Communications Express 的 Web Server。

    有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数部分。

    在执行搜索时,公司目录显示嵌入错误。

    如果没有为公司目录正确配置 LDAP 配置,则可能会发生这种情况。

    解决方法

    检查 WEB-INF/config/corp-dir/db_config.properties 中的 LDAP 配置是否有任何配置错误,纠正它们,然后重新启动 Communications Express。

    有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数部分。

    查看公司目录的联系人时在“视图”窗口中显示错误

    当用于访问公司目录中的联系人条目的键不是 "uid" 时,就会显示此错误。

    uid 是 Communications Express 设置的默认值。

    解决方法

    要访问公司目录中的联系人,应该在 uwc-deployed-path/WEB-INF/config 中的 db_config.propertiesxlate-inetorgperson.xml 配置文件中将键值设置为所需的值。

    在文件中进行以下更改:

  6. uwc-deployed-path/WEB-INF/config/WEB-INF/config/corp-dir/ db_config.properties 中设置相应的键值。

  7. 在以下位置中设置相应的键,以替换 entry entryID="db:uid" 中的 "uid":

    uwc-deployed-path/WEB-INF/config/WEB-INF/config/corp-dir/ xlate-inetorgperson.xml

  8. 重新启动部署了 Communications Express 的 Web Server。

    有关更多信息,请参阅在 db_config.properties 文件中配置公司目录参数部分。

    无法设置 psRoot 的值。

    “用户首选项”中的 LDAP 属性 psRoot 用于 Addressbook Server 水平可伸缩性。有关详细信息,请参阅支持 Addressbook Server 的水平可伸缩性部分。如果部署不需要 Addressbook Server 水平可伸缩性,则可以忽略此错误。

    当用户首次登录到 Communications Express 时,系统会尝试自动设置 psRoot,但有时可能无法自动设置该值。如果尚未安装 Java Enterprise System Directory Server,或者在安装 Java Enterprise System Directory Server 后尚未运行 Java Enterprise System 的 comm_dssetup.pl,则通常会出现这种情况。这会导致不更新 LDAP Schema。

    由于模式未得到更新,因此无法手动设置 psRoot 属性,即使该属性是部署可水平伸缩的 Addressbook 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


访问邮件

在单击“邮件”选项卡时出现登录页。

当没有正确完成 Communications Express 和 Messaging Server 之间的配置时,就会出现此问题。要使 Messaging Server 和 Communications Express 无缝地工作,应该启用 Messaging 或 Access Manager 单点登录。在启动 Communications Express 之前,请按照第 1 章,Communications Express 概述中概述的单点登录配置说明进行操作。

从 Communications Express 访问邮件时,出现消息“进行此操作时发生错误”。

如果没有部署或启用 Communications Express 的邮件组件,但登录到 Communications Express 的用户已将“邮件”设置为默认应用程序,则会出现此错误。

解决方法

管理员需要在用户的 LDAP 条目中将属性 sunUCDefaultApplication 的值更改为 "calendar" 或 "addressbook"。

即使在用户注销 Communications Express 之后,用户仍保持登录状态。

当 Access Manager(原名为 Identity Server)和 Communications Express 安装在不同的计算机上,而 Access Manager Remote SDK 与 Communications Express 安装在相同的计算机上时,就会出现此问题。

解决方法

在安装了 Communications Express 的计算机中,在 AMConfig.properties 文件中指定以下配置参数:

com.iplanet.am.notification.url=url-to-access-web-container-of- CommunicationsExpress/servlet/com.iplanet.services.comm.server. PLLRequestServlet


注 –

可以在 IS-SDK-BASEDIR/SUNWam/lib 下面找到 AMConfig.properties 文件


从“邮件”访问通讯录功能时,您可能会遇到以下问题:

必须在相同的主机上部署 Communications Express 和 Messenger Express (MEM),才能使它们在浏览器中使用 Javascript 进行交互操作。

使用 Access Manager 进行验证

在输入有效的用户 ID 和密码后无法进行验证

验证可能会由于以下原因而失败:

日志文件

试图隔离问题或诊断问题时,由各种系统组件在运行时生成的日志信息是非常有用的。

Procedure启用日志

步骤
  1. 编辑 uwc-deployed-path/WEB-INF/config 目录中的文件 uwclogging.properties

    uwclogging.properties 文件存储以下参数:

    模块/日志控制文件 

    参数 

    默认值 

    描述 

    配置 

       

    在带有时间戳的文件中维护日志,该文件位于 /opt/SUNWuwc/ install/ uwc-config _TIME-STAMP.log 中。

    Communications Express 

    uwc-deployed-path/ WEB-INF/config/ uwclogging. properties

    uwc.logging.enable

    no 

    启用或禁用日志。 

    要启用日志记录,请将 uwc.logging. enable 的属性值更改为 "yes"。例如 uwc.logging. enable=yes

    Communications Express 

    uwc-deployed-path/ WEB-INF/config/ uwclogging. properties

    uwc.log.file 

    uwc-deployed-path/ logs/uwc.log

    例如: 

    /var/opt/SUNWuwc /logs/uwc.log

    指定日志文件的位置。 

    根据需要更改日志文件的位置。 

    确保 Web Server 可以写入此文件。 

    Communications Express 

    uwc-deployed-path/ WEB-INF/config/ uwclogging. properties

    uwc.log.level 

    INFO 

    指定应用程序的日志级别。 

    将应用程序的日志级别更改为所需的级别。 

    可用的日志级别值为: 

    WARNING、INFO、FINE 和 SEVERE。 

    模块/日志控制文件 

    参数 

    默认值 

    描述 

    通讯录 

    uwc-deployed-path/ WEB-INF/config/ uwcconfig. properties

    log.file 

    /tmp/trace.log

    指定日志文件的位置。 

    根据需要更改日志文件的位置。 

    确保 Web Server 可以写入此文件。 

    通讯录 

    uwc-deployed-path/ WEB-INF/config/ uwcconfig. properties

    uwc.log.level

    指定应用程序的日志级别。 

    要对此模块禁用日志,请将该值设置为 0。 

    邮件 

       

    请参阅 Sun Java System Messaging Server 管理指南的第 20 章“日志和日志分析”。 

  2. uwclogging.properties 和 uwcconfig.properties 文件中设置默认值后,重新启动 Web Server。


    注意 – 注意 –

    启用日志将影响系统的性能。