跳到导航
dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare
WebLogic Platform 8.1 SP3 简体中文版发行
WebLogic Workshop 8.1 SP3:使用简体中文环境
WebLogic Workshop 8.1 的注意事项
已知问题
已解决问题


WebLogic Workshop 8.1 的注意事项

WebLogic Workshop 8.1 国际化摘要
WebLogic Workshop 8.1 中实现了使用简体中文环境所必需的功能。WebLogic Workshop 基于 WebLogic Server 运行。因此,WebLogic Server 的现有限制同样适用于利用 Workshop 开发的应用程序。
SOAP 消息及其编码的处理
接收 SOAP 消息
WebLogic Server 的 Web Service 功能遵从 SOAP 1.1 和 SOAP 1.2 规范。SOAP 1.1 的 HTTP/SOAP 消息媒体类型为“text/xml”,其编码处理是按照 RFC2376 定义的。SOAP 1.2 的 HTTP/SOAP 消息媒体类型为“application/soap+xml”,其编码处理是按照 RFC3023 定义的。RFC 规范作用方式如下:
SOAP1.1:
HTTP/SOAP 请求字符集的说明由 HTTP 头中的 ContentType 字符集参数确定。SOAP 消息 XML 声明的编码特性将被忽略。简写 ContentType 的字符集参数时,该字符集参数将被视为 US-ASCII 进行处理。
SOAP1.2:
HTTP/SOAP 请求字符集的说明由 HTTP 头中的 ContentType 字符集参数确定。SOAP 消息 XML 声明的编码特性将被忽略。简写 ContentType 的字符集参数时,将引用 XML 声明的编码特性。如果 ContentType 的字符集参数或 XML 声明的编码特性不存在,它将被视为 utf-8 进行处理。
为了保证 WebLogic Server 8.1 遵从此规范,WebLogic Workshop 的操作也必须遵从此规范。因此,应确保为使用 HTTP/SOAP 调用 Web Service(使用 WebLogic Workshop 开发)的客户端正确指定了 ContentType 的字符集。
发送 SOAP 消息
对于 WebLogic Server,默认情况下将使用 UTF-8 生成 HTTP/SOAP 消息。在生成过程中,会将“encoding=UTF-8”添加到 SOAP 消息的 ContentType 头中。
注意:如果使用英语区域(如 UNIX 中的 LANG=C 环境)启动 WebLogic Server,则只能对 SOAP 消息使用 us-ascii 字符。使用其他字符时,无法保证能够正常操作。如果要在 Web Service 中使用简体中文字符,请确保采用简体中文区域启动 WebLogic Server。
如果已使用英语区域启动 WebLogic Server 并使用非 us-ascii 字符,请在 WebLogic Server 启动脚本文件中定义以下启动选项。这样,即使 WebLogic Server 在英语区域中运行,也能够生成 UTF-8 消息。
注意:建议在 SOAP 消息中使用 UTF-8。
-Iweblogic.webservice.i18n.charset=utf-8
Workshop IDE 处理的文件和编码
1) 通道文件(扩展名:channel)
默认编码:UTF-8
指定方法:使用 xml 的 encoding 特性指定。
示例:<?xml version="1.0" encoding="UTF-8"?>
2) HTML 文件(扩展名:html)
默认编码:ISO-8859-1
指定方法:使用 META 标记的 content 特性指定。
示例:<META http-equiv="Content-Type" content="text/html;charset=GB2312">
3) JSP 文件(扩展名:jsp)
默认编码:ISO-8859-1
指定方法:使用 page 标记指定。
示例:<%@ page language="java" contentType="text/html;charset=UTF-8"%>
使用 weblogic.xml 指定

示例:<jsp-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</jsp-param>
* 如果采用这两种方式同时指定了编码,则优先使用 page 标记指定的编码。
4) JSP 片段文件(扩展名:jspf)
默认编码:ISO-8859-1
指定方法:使用 weblogic.xml 指定。

示例:<jsp-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</jsp-param>
5) WSDL 文件(扩展名:wsdl)
默认编码:UTF-8
指定方法:使用 xml 的 encoding 特性指定。
示例:<?xml version="1.0" encoding="UTF-8"?>
6) WS 安全策略文件(扩展名:wsse)
默认编码:UTF-8
指定方法:使用 xml 的 encoding 特性指定。
示例:<?xml version="1.0" encoding="UTF-8" ?>
7) XML 文件(扩展名:xml)
默认编码:UTF-8
指定方法:使用 xml 的 encoding 特性指定。
示例:<?xml version="1.0" encoding="UTF-8"?>
8) XML Schema(扩展名:xsd)
默认编码:UTF-8
指定方法:使用 xml 的 encoding 特性指定。
示例:<?xml version="1.0" encoding="UTF-8" ?>

9) 其他文件
使用 Java VM 的默认编码读取/写入文件,而不指定编码。
Web 应用程序编码
Web 应用程序的默认编码为 UTF-8。
如果希望使用其他编码创建应用程序,可以通过“工具”-->“应用程序属性”-->“编码”指定编码。
此设置将反映在 weblogic-application.xml 的 webapp.encoding.default 参数的值中。
注意:此属性是针对 HTTP 请求指定的编码,而对 HTTP 响应是无效的。


已知问题
XScript 的已确认问题
如果在 XScript 文件中使用多字节字符,将无法读取 XScript 文件,而且也无法完成生成操作。
基于数据库创建 EJB 的已确认问题
如果根据列名中包含多字节字符的数据库表创建实体 Bean,生成操作将失败。这是由于 EJB 规范中对 CMP 字段名的限制造成的。
解决办法:将创建的 CMP 字段中的第一个字符更改为 ASCII 字符,生成操作即会成功。

使用 Workshop IDE 编辑 JSP 静态包含文件时的已确认问题
如果未指定 meta 标记的 Content-Type,则 Workshop IDE 不会在 HTML 文件中包含多字节字符。
解决办法:通过使用 JSP 片段文件(扩展名:jspf),而不是使用 HTML 文件,并指定保存在 weblogic.xml 文件中的编码,可以在 Workshop IDE 中编辑包含多字节字符的静态包含文件。
当 JSP 文件为静态包含到另一个 JSP 中的文件时的已确认问题
根据 J2EE 的 JSP 规范,如果静态包含文件为 JSP,并在包含源的 JSP 和包含目标的 JSP 中同时指定了 page 指令的 contentType,则会导致编译错误。
解决办法:以下两种办法都是有效的,但对于 WebLogic Workshop 而言,建议采用第一种方法。

  1. 使用 JSP 片段文件(扩展名:jspf)作为静态包含文件,而不是使用 JSP 文件,并仅为 page 指令的 contentType 规范指定包含源的 JSP。
  2. 使用 WebLogic Server JSP 编译器,而不是 WebLogic Workshop JSP 编译器。按照如下方法,注释掉在 weblogic.xml 中指定为默认设置的 jspServlet 参数规范,并将其再次指定为 backwardCompatible 参数。有关 backwardCompatible 的详细信息,请参阅 WebLogic Server 的简体中文使用说明。
  3. <!-- 将 jspServlet 参数注释掉以恢复为 weblogic 的 jspc -->
    <!-- <jsp-param>
    <param-name>jspServlet</param-name>
    <param-value>weblogic.servlet.WlwJSPServlet</param-value>
    </jsp-param> -->

    <jsp-param>
    <param-name>backwardCompatible</param-name>
    <param-value>true</param-value>
    </jsp-param><br>

使用 Workshop IDE 编辑 HTML 文件时的已确认问题
如果 HTML 文件的 <html> 元素中具有可选特性(如 <html version="1.0">),Workshop IDE 将无法在 HTML 中包含多字节字符。

Web Service URL 的已确认问题
在 WebLogic Workshop 中,无法正确处理 WSDL 文件或 JWS 控件中对 Web Service 的 URI 引用中的字符编码。由于这种限制,无法在 Web Service 项目名、文件夹名或 JWS 文件名中包含多字节字符。
WebLogic Server 选项的已确认问题
如果在 WebLogic Server 中附加了 weblogic.http.URIDecodeEncoding 选项,则无法在 Web Service 测试浏览器输入中正确接收多字节字符。
编译时出现的错误消息的已确认问题
在开发环境中编译 java、jsp、jws、jpd、jdx、dtf、xq 等文件时,将显示英语错误消息。

添加第三方 Workshop IDE 扩展功能时的已确认问题
如果安装的第三方 Workshop IDE 扩展功能只有英语版帮助,而没有简体中文版帮助,英语版帮助不会添加到现有的简体中文版帮助中。

为在 SP2 之前创建的第三方 Workshop IDE 添加联机帮助时的已确认问题
在 Service Pack 3 中,存储简体中文版联机帮助的文件夹名称已从“zh”更改为“zh_CN”。因此,安装针对 SP2 创建的扩展功能所附带的联机帮助时,必须执行以下步骤。
  1. 将 zh 目录中的所有文件复制到 zh_CN 目录。
  2. 选择 Workshop IDE 的“帮助 | 重建搜索索引”。
这样,扩展功能的帮助文件即被添加到 SP3 的简体中文版联机帮助文件中,同时目录和搜索索引也进行了合并。
在 Workshop IDE 中添加 DBScripter 时的已确认问题(仅限于日语)
DBScripter 的联机帮助作为样例以 SP2 格式与 Workshop IDE 捆绑在一起,并且安装在以下目录中。
    \weblogic81\samples\workshop\ExtensionDevKit\ControlDevKit\DBScripter\docs\help\doc\ja
为了将此联机帮助与 IDE 的联机帮助进行合并,必须按照以下方式更改上述文件夹名称。
    \weblogic81\samples\workshop\ExtensionDevKit\ControlDevKit\DBScripter\docs\help\doc\ja_JP
窗口字体和字号的已确认问题(仅限于 Linux)
由于对话框大小限制,如果窗口字体不是“默认字体”,且字号不是“10”,则在新建应用程序时部分说明文本将无法显示。
解决办法:虽然无法读取全部说明文本不会导致任何操作问题,但是如果希望显示所有说明文本,请按上述说明设置窗口字体和字号。
WebLogic Server 启动控制台屏幕的已确认问题(仅限于 Linux)
从 WebLogic Workshop 菜单的 [工具 | WebLogic Server | 启动 WebLogic Server] 中启动 WebLogic Server 时,控制台屏幕将启动,但是此控制台 (xterm) 无法处理多字节字符。因此,如果在简体中文区域中启动 WebLogic Server,则从服务器输出的消息将产生无效字符。
解决办法:从与多字节字符兼容的控制台(如 kterm)中手动启动 WebLogic Server。




已解决问题

Web Service 协议的已解决问题
当具有 http-xml、jms-soap 或 jms-soap12 协议的消息包含多字节字符时,消息无法进行解析,从而导致错误。此问题在 8.1SP3 中已得到了修正。

Web Service 消息加密的已解决问题
如果通过 WS-Security 加密了包含多字节字符的 Web Service 消息,则解析消息时会产生错误。此问题在 8.1 SP3 中已得到了修正。

BEA Tuxedo 控件的已解决问题(仅限于日语)
在 Tuxedo 控件功能的帮助中,针对 WebLogic Workshop 8.1 SP2 中的 BEA Tuxedo 控件仅发布了英文版帮助。在 WebLogic Workshop 8.1 SP3 版本中包括了日语版的帮助,可以在以下目录中找到。
    %WL_HOME%\workshop\help\doc\ja_JP\Tuxedo