门户网站项目支持 WebSphere Portal V5.0.2.2。
使用新建 portlet 向导创建 JSR 168 portlet 时,Rational Developer 将自动指定标识属性。portlet.xml 文件的 <portlet-app/> 元素中应包括标识属性以向服务器唯一标识该 portlet。(此属性对应 IBM portlet API portlet 使用的 UID 属性。)
如果 JSR 168 portlet 在 portlet.xml 中的 <portlet-app/> 元素中没有标识属性,则在将 portlet 导入到工作空间后立即添加标识属性及其唯一值。要添加标识属性,打开 portlet 部署描述符并使用“源代码”视图编辑它。在将 JSR 168 portlet 部署至门户网站服务器或在门户网站项目中使用 JSR 168 portlet 项目后不要更改标识值。
没有标识属性的 JSR 168 portlet 有一些局限性:
- 如果在门户网站项目中使用没有标识属性的 JSR 168 portlet,该门户网站项目将不能在测试环境中运行。
- 如果将两个或多个没有标识属性的 JSR168 portlet 与 WebSphere Portal 5.1 测试环境相关联,则测试环境将无法启动。
- 在将 JSR 168 portlet 部署至门户网站服务器或在门户网站项目中使用 JSR 168 portlet 项目后,不应更改项目名称。
在运行包含关系记录列表或关系记录(SDO)的 portlet 时,可能会在服务器日志中看到以下错误:
[04/10/07 17:57:27:172 JST] 4942fbd0 SystemOut O java.lang.LinkageError:org/eclipse/emf/ecore/EClass 类违反了载入器约束:父代与子代载入器之间的定义不匹配您可以忽略此错误。
在创建协作源 portlet 时,需要手工将 actionNameParameter 和 name 属性添加至 WSDL 文件。例如:
<portlet:action type="standard" name="myActionName" actionNameParameter="ACTION_NAME"/>在本发行版中,门户网站工具不会在 WSDL 文件中生成 caption 属性。当您使用 WebSphere Portal V5.1 的连线设备时,需要在 WSDL 文件中指定 caption 属性并在资源文件中手工指定 caption 值。例如:
<portlet:param name="orderId" partname="order_id" caption="order.id" />有关更多信息,请参阅 WebSphere Portal 信息中心内的“开发 portlet 以供合作”主题。
在 WebSphere Portal V5.1 中的 IBM API 基本 portlet 中使用个人标记时,应使用以下语法来指定它:
<pa:person value="CN=John Smith,OU=SALES,O=ACME" valueType="LDAPDN" displayName="John Smith" />在 WebSphere Portal V5.1 中的 IBM API Faces portlet 中使用个人标记时,应使用以下语法来指定它:
<pa:person value="CN=John Smith,OU=SALES,O=ACME" />John Smith<pa:person>
JSR 168 portlet 不支持个人标记。
SAP BAPI 和 RFM SDO 向导局限性:如果向前通过主函数和前后函数页面,并在选取其他主函数之后尝试返回此页面,则前后映射页面就无法正常工作。
解决方案:如果需要设置新的前后函数映射,必须重新启动该向导。
在门户网站服务器上测试包含 SAP SDO 的 portlet 之前,必须在 WebSphere Portal 5.1 服务器上配置 SAP JCo 适配器:
- 从 SAP Service Marketplace 中的 SAP 下载 SAP 的 JCo 适配器目录。
- 单击下载软件 > 下载 > SAP 连接器 > SAP Java 连接器。根据您使用的操作系统选择要下载的相应文件。将 ZIP 文件的内容解压缩到本地目录中。
- 根据您所使用的操作系统完成下列步骤。注意:<wps_51> 指的是 WebSphere Portal 5.1 服务器的安装目录;例如,C:\WebSphere\PortalServer51TE。
对于 Windows:
- 将 sapjco.jar 和 sapjcorfc.dll 复制至 <wps_51>\shared\app。
- 将 librfc32.dll 复制至 c:\windows\system32\。
- 必须重新启动 WebSphere Portal 5.1 服务器。
对于 Linux:
- 将 sapjco.jar 和 libsapjcorfc.so 复制至 <wps_51>\shared\app。
- 将包含 librfccm.so 文件的文件夹添加至环境变量 LD_LIBRARY_PATH。
- 必须重新启动 WebSphere Portal 5.1 服务器。
在使用“新建门户网站项目”向导创建门户网站项目或从样本库导入样本门户网站项目时,“问题”视图中出现了断开的链接警告消息。
在此版本的 Rational Developer 中,Portal Designer 仅将 HTML、cHTML 和 WML 作为受支持的标记。如果对导入的项目中的页面或标签指定了其它受支持的标记,它们将保留在 Rational Developer 中;但是,您不能更改这些标记,它们不会显示在“属性”视图中。
在此版本的 Rational Developer 中,只能在 Portal Designer 中设置外部 URL。如果门户网站服务器上有内部 URL,它们将保留在导入的项目中,但不能更改它们。只能将内部 URL 部署回原始门户网站服务器。
在此版本的 Portal Designer 中,Admin 和 AdminLeftNavigation 主题将显示在“大纲”视图中。但是,这些主题只能用于门户网站管理,并且不应选择它们作为门户网站项目的缺省主题。
问题:Rational Developer 安装未能安装 WebSphere Portal 测试环境。
解决方案:检查安装日志并采取适当的措施来纠正该问题。
WebSphere Portal 5.0 测试环境 RD_installdir\runtimes\portal_v50\log\wpsinstalllog.txt,其中 RD_installdir 是 Rational Developer 的安装目录。
WebSphere Portal 5.1 测试环境 WP51TE_installdir\PortalServer\log\wpsinstalllog.txt,其中 WP51TE_installdir 是 WebSphere Portal V5.1 测试环境的安装目录。
如果在日志文件中找不到该问题, 则尝试手工卸载 WebSphere Portal 测试环境。然后重新安装它。有关手工卸载的信息,请参阅《Rational Developer 安装指南》。
问题:您可以使用 Rational Developer 为 WebSphere Portal V5.0 构建 portlet。如果您将 WebSphere Portal 服务应用于门户网站服务器,则在构建 portlet 时可能会发生编译错误。在这种情况下,您需要手工更新编译所需的文件。
解决方案:要正确编译 portlet,请遵循以下步骤:
WebSphere Portal V5.0.2.x
注意:必须将这些文件复原至其原始状态才能卸载 WebSphere Portal 测试环境。如果您不这样做,则可能不会删除文件夹“portal_v50_stub”,并且您将必须手动删除它。
- 通过从 WebSphere Portal 5.0.2.x PortalServer\*.* 目录复制最新的版本,更新以下目录下的所有文件。
- WS_installdir\runtimes\portal_v50_stub\*.*,其中 WS_installdir 是 Rational Developer 的安装目录。
- 要调试 portlet,请确保您还已经将服务应用到 WebSphere Portal 测试环境。必须将该服务应用于 WebSphere Portal V5.0.2.x WS_installdir\runtimes\portal_v50 目录。
WebSphere Portal V5.1
注意:在可以卸载 WebSphere Portal 测试环境之前,您必须将这些文件恢复为初始状态。如果您不这样做,则可能不会删除文件夹“portal_v51_stub”,并且您将必须手动删除它。
- 通过遵循服务的指示信息将服务应用于 WebSphere Portal V5.1 测试环境。
- 通过从 WebSphere Portal 5.1 测试环境 PortalServer\*.* 目录复制最新的版本,更新以下目录下的所有文件。
- RD_installdir\runtimes\portal_v51_stub\*.*,其中 RD_installdir 是 Rational Developer 的安装目录。
“Portlet 部署描述符”编辑器和“项目资源管理器”视图显示 portlet 图标及其名称。该图标指示 portlet 的状态。portlet 状态包括正常、启用源、启用目标以及启用源和目标。
问题:当您将 portlet 转换为单击激活操作源 portlet 时,仅应更改已转换的 portlet 图标。然而,有时候会更改多个 portlet 图标,如多个 portlet 与单个 servlet 相关联时。在这种情况下,预期的单击激活操作 portlet 图标之外的 portlet 图标显示不正确。当您将 portlet 转换为单击激活操作目标 portlet 时,存在同样的问题。
解决方案:已更改了多个 portlet 图标;但只更改了一个 portlet。转换是成功的,portlet 项目未被破坏。
问题:在现有 IBM API portlet 项目中创建新的 portlet 时,如果在“事件处理”页面上选择添加单击激活操作发送方 portlet 样本或添加消息发送方 portlet 样本选项,将显示下列错误消息:
- IWAL0008E portlet 的 servlet 引用不正确。 (portlet.xml)
- CHKJ4014W:类型 servlet 名称的条目是空的。(web.xml)
解决方案:必须使用以下方法重新打开 portlet 项目:
- 右键单击该 portlet 项目并从弹出菜单中选择关闭项目。
- 右键单击该 portlet 项目并从弹出菜单中选择打开项目。
- 右键单击该 portlet 项目并从弹出菜单中选择运行验证。
问题:不能启动 WebSphere Portal 测试环境。
解决方案:
- 验证成功安装:可能会因为安装期间出现故障而导致此问题。检查 WebSphere Portal 测试环境安装期间出现的问题并在必要时做出修正。
- 消除过长的文件名:因为 portlet 项目文件的文件名过长,所以服务器不能启动。要解决此问题,缩短项目名称、包前缀和/或类前缀,以使生成的文件名长度可以接受。或者,可将各个文件名本身缩短为可以接受的长度。此外,如果使用的是缺省目录作为工作区,则使用目录名长度较短的另一工作空间也将有效。您可以通过启动 Rational Developer 并在提供的对话框中更改名称来指定工作空间目录。如果用于指定工作空间的对话框未出现,则转至命令提示符并在输入 Rational Developer 执行命令之后输入 -data [workspace_name]。
问题:在 WebSphere Portal 测试环境服务器中,使用管理 portlet 安装 portlet 失败。
解决方案:在 WebSphere Portal 测试环境服务器中,使用管理 portlet 安装 portlet 不受支持。要在 WebSphere Portal 测试环境中部署 portlet,您必须使用 Rational Developer 中的“发布”功能。要使用“发布”功能,右键单击 portlet 应用程序项目并选择运行 > 在服务器上运行,或在“服务器”视图中右键单击服务器并选择发布。
问题:如果 portlet 应用程序使用除 Cloudscape™ 之外的数据库,可能会发生错误。
解决方案:必须将 JDBC 驱动程序添加至 WebSphere Portal 测试环境的特定于 WebSphere 的类路径。执行下列步骤:
- 在“服务器”视图中,双击 WebSphere Portal 测试环境服务器。服务器编辑器就会打开。
- 在编辑器的底部单击环境选项卡。
- 在 ws.ext.dirs 部分中添加 JDBC 驱动程序。例如,对 DB2® 添加 SQLLIB\java12\db2java.zip 文件,其中 SQLLIB 是 DB2 的安装目录。
- 按 CTRL+S 键以保存更改。
问题:在 JSR 168 Portlet 部署描述符中,不能在 Portlet 集合区域中编辑 portlet 名称。
解决方案:在“源代码”页面中编辑 portlet 名称。
问题:在使用 WebSphere Portal V5.0 的某些配置中,在使用“远程服务器连接”服务器来运行或调试项目时,对门户网站或 portlet 项目所作的更改不会自动显示在浏览器中。
解决方案:有两种方法可用来处理此问题:
- 使用浏览器显式注销 WebSphere Portal 然后再次登录。登录之后将显示这些更改。注意,关闭浏览器窗口不起作用,每次发布更新后的门户网站项目时都需要执行此操作。
- 或者配置 Rational Developer 以使用外部浏览器。为此,从“窗口”菜单中选择“首选项...”。展开左边的因特网节点并选择“Web 浏览器”。在主要部分中选择内部 Web 浏览器之外的任意浏览器。
然后,在每次“在服务器上运行或调试”之前,需要在执行操作之前先关闭外部浏览器。
问题:如果从向导生成的 Faces JSP 文件中删除 <f:view> 标记并在该文件中插入 Faces 组件,则将插入 <f:subview> 标记而不是 <f:view> 标记。对于此类型的 JSP 文件,Faces portlet 将无法正常运行。浏览器上的输入将在服务器端处理时丢失。
问题:要修正此问题,将 JSP 文件中的 <f:subview> 标记替换为 <f:view> 标记。
如果将包含单击激活操作标记的 Faces portlet 最大化,将不显示 portlet 的内容。
问题:如果类路径太长,则更改 Portlet API 级别会失败。
解决方案:您需要更正已迁移 portlet 项目的 Java 构建路径。对于必需的 Java 构建路径,您可以引用由“新建 portlet 项目”向导生成的基本 portlet 项目。将缺少的必需 JAR 文件添加至已迁移 portlet 项目的 Java 构建路径。
问题:如果未安装门户网站 UTE,则不能创建目标为“localhost”或“127.0.0.1”的门户网站导入、导出和部署服务器。
解决方案:如果需要创建这样的服务器,则使用机器的标准名称而不是“localhost”(示例:myhost.mydomain)。
问题:如果导入新门户网站项目未完成就取消了导入操作,则不能除去不完整的门户网站项目并且该项目变得不可用。
解决方案:您需要使用“导入门户网站”向导中的删除覆盖内容选项以再次导入门户网站配置和文件。
问题:将现有门户网站站点从 WebSphere Portal 导入到 Rational Developer 中时,与 WSRP 有关的验证错误将显示在已导入门户网站项目的“问题”视图中。
解决方案:在导入到 Rational Developer 中之前对 WebSphere Portal 应用 APAR PQ95638。
问题:因为编码不正确,所以不能使用 Page Designer 打开已导入门户网站项目中的 license.html 或 privacy.html 文件。
解决方案:对门户网站服务器应用 APAR PQ93681,然后从门户网站服务器重新导入该项目。
问题:在执行下列操作时,未能启动 WebSphere Portal 5.0 测试环境:
- 使用门户网站项目(该项目没有相关联的 portlet 项目)来启动测试环境,然后
- 将 portlet 项目添加至该门户网站项目并再次尝试在测试环境中运行该门户网站项目。
解决方案:需要重新配置 WebSphere Portal 5.0 测试环境。
现在,您应该能够在测试环境中运行门户网站项目及其新关联的 portlet 项目了。
- 在“服务器”视图中,右键单击服务器并选择“添加和除去项目...”。
- 从“已配置项目”中除去“wps”项目。
- 右键单击门户网站项目,然后选择“运行 > 在服务器上运行”。
“添加 SDO 运行期”引用 Rational Software Architect 新闻组。将对 Rational Software Architect 支持站点(www.ibm.com/software/awdtools/developer/application/support)进行更新,以包含到新闻组的链接。