关于在简体中文环境中使用 WebLogic Workshop 8.1 SP2 的说明
WebLogic Workshop 8.1 发行说明
已知问题
已解决问题
WebLogic Workshop 8.1 发行说明
WebLogic Workshop 8.1 国际化概述
在 WebLogic Workshop 8.1 中,实现了许多必要的功能以支持在简体中文环境中的使用。WebLogic Workshop
在 WebLogic Server 环境中运行。因此,WebLogic Server 中存在的限制同样适用于使用 WebLogic Workshop
所开发的应用程序。
SOAP 消息及其编码的处理
接收 SOAP 消息
WebLogic Server 的 Web Services 功能符合 SOAP 1.1 和 1.2 的编码处理规范。SOAP 1.1 HTTP/SOAP
消息的媒体类型为“text/xml”,其编码处理是在 RFC2376 中定义的。而 SOAP 1.2 HTTP/SOAP 消息的媒体类型为“application/soap+xml”,其编码处理是在
RFC3023 中定义的。这些 RFC 规范定义了下列行为:
SOAP 1.1
HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果不指定
ContentType 字符集参数,字符集将被视为 US-ASCII。
SOAP 1.2
HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果未指定
ContentType 的字符集参数,将使用在 XML 声明部分定义的编码特性。如果 ContentType 字符集参数或 XML 声明的编码特性均未定义,它将被视为
UTF-8。
WebLogic Server 8.1 行为基于此规范;WebLogic Workshop 行为也基于这一规范。如果您有一个客户端,并且该客户端使用
HTTP/SOAP 来调用使用 WebLogic Workshop 开发的 Web Service,请务必检验是否正确指定了 ContentType
字符集。
发送 SOAP 消息
WebLogic Server 生成的所有 HTTP/SOAP 消息都使用 UTF-8 进行编码。在生成过程中,会将“encoding=UTF-8”添加到
SOAP 消息的 HTTP 头中。
注意:如果使用英语区域(例如,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 标记和 weblogic.xml 中指定了不同的编码,将使用 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 应用程序的编码
默认情况下,UTF-8 将用于 Web 应用程序的编码。
如果要在 Web 应用程序中使用其他编码,可以使用“工具”->“应用程序属性”->“编码”菜单命令进行指定。
此处指定的值将写入 weblogic-application.xml 文件中的 webapp.encoding.default 参数中。
注意:此属性仅适用于对 HTTP 请求使用的编码。它不适用于 HTTP 响应。
已知问题
WebLogic JRockit 已知问题
在此版本的 WebLogic JRockit 中使用非英语区域启动 WebLogic Server 会导致问题。
解决方法:如果要在简体中文环境中使用 JRockit,需安装以下修补程序。有关下载和安装该修补程序的详细信息,请参阅此页面。
XScript 已知问题
如果在 XScript 文件中使用多字节字符,将无法成功读取该文件,从而导致生成失败。
有关基于数据库创建 EJB 的已知问题
如果基于列名中包含多字节字符的数据库表创建实体 Bean,生成 bean 时将失败。此生成失败是由于 EJB 规范对 CMP 字段名的限制所造成的。
解决方法: 对所生成的任何 CMP 字段的第一个字节使用 ASCII
字符;这将会使生成成功。
有关在 Workshop IDE 中编辑 JSP 中的静态包含文件的已知问题
在 Workshop IDE 中,如果 HTML 文件中没有带 Content-Type 特性的 META 标记,则不能在其中使用任何多字节字符。
解决方法:使用 JSP 片段 (.jspf) 文件,而不是
HTML 文件,并在 weblogic.xml 文件中指定要使用的编码。这样可以在 Workshop IDE 中编辑具有多字节字符的静态包含文件。
有关将 JSP 文件静态包含到另一个 JSP 文件中的已知问题
如果要静态包含 JSP 文件,则不能在源 JSP 和目标 JSP 中同时指定 page 指令的 contentType 值。由于不符合 J2EE
JSP 规范,这会导致编译错误。
解决方法:下列建议均有效;但是,WebLogic Workshop推荐采用第一个建议。
- 使用 JSP 片段 (.jspf) 文件进行静态包含,而不使用 JSP 文件,并仅在源 JSP 文件中指定的 page 指令的 contentType
值。
- 使用 WebLogic Server JSP 编译器,而不是 WebLogic Workshop JSP 编译器。在这种情况下,会默认将
weblogic.xml 中指定 jspServlet 参数的行注释掉,并添加一个指定 backwardCompatible 参数的新行。有关
backwardCompatible 参数的详细信息,请参阅“关于在简体中文环境中使用 WebLogic Workshop 8.1 SP2
的说明”。
<!-- 将 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 文件的已知问题
在 Workshop IDE 中,如果 HTML 文件的 html 元素具有任何特性(如 <html version="1.0">),将无法在
HTML 中使用任何多字节字符。
有关 Web Services URL 的已知问题
WebLogic Workshop 无法正确处理 WSDL 文件或 JWS 控件中对 Web Service 的 URI 引用中的字符编码。由于这一限制,不能在任何
Web Service 项目名、文件夹名或 JWS 文件名中使用多字节字符。
有关 Web Service 协议的已知问题
在使用 http-xml、jms-soap 或 jms-soap12 协议的情况下,如果消息中包含任何多字节字符,都将无法正确解析消息,从而引发错误。
有关 Web Service 消息加密的已知问题
在任何时候,只要您试图加密包含多字节字符的 Web Service 消息,都会引起消息解析失败,从而导致错误。
有关 WebLogic Server 选项的已知问题
如果在 WebLogic Server 中追加了 weblogic.http.URIDecodeEncoding 选项,Web Service
测试浏览器将无法正确接受多字节字符。
有关编译时出现错误消息的已知问题
在开发环境中编译 java、jsp、jws、jpd、jdx、dtf、xq 或其他文件时,将显示英语错误消息。
有关添加第三方 Workshop IDE 扩展的已知问题
如果 Workshop IDE 的第三方扩展只有英语版联机帮助,而没有相应的简体中文帮助,英语版联机帮助将不会集成到 Workshop 简体中文版联机帮助中。
BEA Tuxedo 控件的已知问题
在 WebLogic Workshop 8.1 SP2 中,仅提供英语版的 BEA Tuxedo 控件。此外,在 SP2 中,英语版的 Tuxedo
控件联机帮助放在以下目录中。由于自 SP1 后安装过程已修改,因此该位置也已更改。
%WL_HOME%\workshop\help\doc\en\Tuxedo
有关 Window 字体类型和大小的已知问题(仅限于 Linux)
由于对话框大小存在限制,因此,如果要在新建应用程序时显示所有描述文本,必须将窗口字体的类型和大小分别设置为“默认”和 10 磅(或以上)。
解决方法:这不会影响任何功能。如果要显示所有描述文本,必须根据需要设置窗口字体的类型和大小。
有关 WebLogic Server 启动控制台的已知问题(仅限于 Linux)
WebLogic Server 启动控制台(基于 xterm)未启用多字节字符。可以从“工具”->“WebLogic Server”->“启动
WebLogic Server”访问启动控制台。如果从简体中文区域环境中启动 WebLogic Server,服务器控制台上的输出消息将显示为乱码。
解决方法:使用启用了多字节字符的控制台(如 kterm)并手动启动 WebLogic Server。
已解决问题
有关 Java 控件 (.jcx) 文件名中包含多字节字符的问题已解决
在前一版本中,如果 Java 控件 (.jcx) 文件名包含多字节字符,将无法从其他 Web Service 中访问该控件。此问题在 8.1
SP2 中已解决。
有关 WS 安全性策略文件的问题已解决
在前一版本中,如果 WS 安全性设置 (.wsse) 文件名包含多字节字符,将无法正确生成 Web Service。此问题在 8.1 SP2
中已解决。
有关使用 WebLogic Workshop JSP 编译器静态包含 JSP 的问题已解决
在前一版本中,如果 JSP 文件中静态包含带有多字节字符的文件,在使用 WebLogic Workshop JSP 编译器编译该 JSP
文件后,多字节字符显示为乱码。
有关 EJB 项目名称的问题已解决
如果 EJB 项目名称包含多字节字符,将无法生成 EJB 项目。此问题在 8.1 SP2 中已解决。
有关 EJB 方法名称的问题已解决
在 EJB 设计视图中,如果您试图使用包含多字节字符的方法名称,将显示错误对话框“无效的方法签名”,并且将无法创建该方法。此问题在 8.1
SP2 中已解决。
有关 Java 控件 (.jcx) 文件描述的问题已解决
在前一版本中,Java 控件属性编辑器中的描述文本以英语显示;在 8.1 SP2 中,它们现在以简体中文显示。
有关不同数据类型之间的 XQuery 映射的问题已解决
在从设计视图打开的 XQuery 编辑窗口中,无法使用拖放操作实现从一种类型到另一种类型的映射(例如,从 int 映射为 short,从
string 映射为 int)。此问题在 8.1 SP2 中已解决。
有关在不同平台中使用 EAR 文件的问题已解决
在前一版本中,在生成包含 Web Service 的应用程序以生成 EAR 文件时,如果该 Web Service 使用了基于 XMLBean
生成的多字节类名,则该 EAR 在另一区域中将无法正常工作。此问题在 8.1 SP2 中已解决。
有关域配置向导将主机名设置为非“localhost”值时的问题已解决
在前一版本中,如果在域配置向导中为某个主机指定了 localhost 以外的名称,则必须修改所生成的 stopWebLogic.com 和
stopWebLogic.sh 才能正确关闭 WebLogic Server。此问题在 8.1 SP2 中已解决。
有关 WebLogic Server 应用程序属性设置的问题已解决
在前一版本中,不能将位于服务器主目录中的 config.xml 中的主机名读入到设置页中。此问题在 8.1 SP2 中已解决。
有关使用 wlwBuild 命令生成应用程序后记录错误的问题已解决
在前一版本中,如果使用 wlwBuild 命令生成 Workshop 应用程序,将在 workshop_errors.log 文件中记录错误。此问题在
8.1 SP2 中已解决。
有关使用 javac 命令编译 Web Service 客户端的问题已解决
在前一版本中,在使用 javac 命令编译 Web Service 客户端时,如果将 JAR 文件用作 Java 代理客户端,以便用户从
WebLogic 测试浏览器的“概述”选项卡中下载,则需使用“-sourcepath”选项对其进行编译。此问题在 8.1 SP2 中已解决。
|