IBM J2EE 連接器工具特性  6.0.1.3 版 - Readme

適用於 IBM Rational Application Developer 6.0.1  或 6.0.1.1 以及 IBM Rational Software Architect 6.0.1 或 6.0.1.1

© Copyright IBM Corporation 2000, 2006. All Rights Reserved.

若要檢視這個檔案的最新版本,請參閱位於 www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/601/html/J2C6013/nl/zh_TW/Readme_6013.html 的 Readme

此檔案提供下列語言版本:

巴西葡萄牙文 簡體中文 繁體中文
法文 德文 義大利文
日文 韓文 西班牙文

內容

1.0 關於這個版本
   1.1 產品修正歷程
2.0 安裝資訊
   2.1 硬體需求
   2.2 軟體需求
   2.2.1 WebSphere® Application Server
   2.2.2 資源配接器
   2.2.3 CICS 交易閘道
3.0 已知的限制、問題和暫行解決方法
4.0 客戶支援中心
5.0 注意事項和商標

1.0 關於這個版本

J2EE 連接器 (J2C) 架構工具可讓您建立 J2EE 應用程式,以整合和延伸現有「企業資訊系統」(EIS) 的作業和資料。

這個版次包含修正程式,並且會將維護軟體套用至 Rational® Application Developer 以及 Rational Software Architect 中所包含的 IMS 資源配接器。在套用更新後:

1.1 產品修正歷程

這個版本的「J2EE 連接器工具特性」包括下列修正程式:

1.1.1 對兩個 IMS 資源配接器的修正:

在 IBM Rational Application Developer 6.0.1.2、6.0.1.1 或 6.0.1 的「J2EE 連接器工具特性」6.0.1.3 版中,包含 IMS Connector for Java 9.1.0.1.3a 和 9.1.0.2.2a 的目的是為了開發之用。它們只是供維護使用的版次(沒有新功能),其中包含下列更新:

在 IMS Connector for Java 中,現行的重試功能可容許 IMS Connector for Java 在傳送要求或接收來自 IMS Connect 的回應時,如果發現通訊失敗,就試圖重新建立連線。這個功能在交談作業層次中實作,而且目前已經確定在傳送要求至 IMS 並執行要求時,若無法將輸出遞送至 IMS Connect for Java,就可能會導致重複的交談作業。如果發生這種狀況,IMS Connector for Java 在等待回應時會收到連線錯誤,IMS Connector for Java 會重試交談作業。這樣可能會導致 IMS 中處理的交談作業重複。為了避免這種可能,在這個維護版次中,已經停用現行的交談作業型重試功能。

如果 IMS Connector for Java 收到回應,並且被告知仍可接收其他的(次要)輸出,由於 IMS Connector for Java 在每個交談作業中只能傳回一個輸出訊息,所以 IMS Connector for Java 將「否定 (NAK)」所有的次要輸出,而先將它放置在 OTMA 保留佇列中,然後再傳回所收到的第一個回應。當 IMS Connector for Java 正在否定次要輸出時,如果發生錯誤,IMS Connector for Java 會捨棄原始的輸出,並將異常狀況傳回包含該錯誤的用戶端。因此,原始的輸出將會遺失,而且無法回復。在這個維護版次中,已經修正這個問題,方法是將發生這種情況的 IMS Connector for Java 的規則加以變更,讓 IMS Connector for Java 傳回原始的輸出訊息,並忽略在拒絕次要輸出時所發生的錯誤。未遞送的次要輸出會繼續遞送至 OTMA 保留佇列。

如果應用程式嘗試使用 SYNC_RECEIVE_ASYNCOUTPUT 交談作業來擷取輸出訊息,而該訊息是源自非 OTMA 用戶端(例如,3270 終端機,而不是 IMS Connector for Java 型用戶端應用程式),則會收到 "ICO0026E: com.ibm.ims.ico.IMSOutputOTMAMsg@2637e2ea.setMsg(byte[]) 錯誤。",而不會收到訊息。如果非 OTMA 用戶端啟動 IMS 應用程式,而該 IMS 應用程式對 ALTPCB 執行 ISRT 的話,就可能發生這種狀況。當 IMS Connector for Java 型用戶端應用程式試圖擷取訊息時,OTMA 會新增 "Control"、"State" 和 "Security" 等區段至訊息標頭。然後,DFSYDRU0 跳出程式會新增 "User Data" 區段至訊息標頭。如果沒有,IMS Connector for Java 會擲出上述異常狀況,因為 IMS Connector for Java 必須依賴 User Data 區段的存在。透過這個修正程式,IMS Connector for Java 現在會擲出更具明確意義的異常狀況:"ICO0027E: com.ibm.ims.ico.IMSOutputOTMAMsg@xxxxxxxx.setMsg(byte[]) 錯誤。IMS 輸出訊息的 OTMA 標頭未包含 USER DATA 區段。"

如果您使用可共用的 IMS 連線來執行兩階段的確定交易,則可能無法使用適當的安全認證。如果您在第一次取得連線時,在 IMSConnectionSpec 中傳送 "UserA",就會如預期般使用該 ID。如果在您的 CCI 應用程式中,您沒有關閉 ConnectionA,但是取得新連線,並且在 IMSConnectionSpec 中指定 "UserB",則 ConnectionB 會正確地使用 "UserB" 的安全認證。然而,如果您的 CCI 應用程式回頭重新使用 ConnnectionA(因為尚未關閉),ConnectionA 將使用 "UserB" 的認證。為了修正這個問題,IMSConnectionRequestInfo.equals() 方法已經改變,它會查看候選的 IMSConnectionRequestInfo 的使用者名稱和密碼,確認它們是否符合現行交談作業所需要的值。如此可確保當應用程式在 IMSConnectionSpec 中使用 "UserB" 來要求連線(根據前一段落中的範例說明)時,會傳回新 IMSManagedConnection 物件的連線控點,而不會有共用的問題,因為儲存區中的現有連線在 IMSConnectionSpec 中使用 "UserA"。新的 IMSManagedConnection 物件將正確地執行 "UserB" 的認證。如果應用程式回頭並試圖重複使用在 IMSConnectionSpec 中具有 "UserA" 的連線,就會取得原始連線,並具備 "UserA" 的正確安全認證。

在這個維護版次中,需要兩個參數(IMSInteractionSpec 和 input Record)的 IMSInteraction 類別執行方法已經被廢除。而取用 IMSInteractionSpec 並同時使用 input Record 和 output record 作為參數的執行方法則尚未被廢除。這麼做是為了防止 CCI 應用程式意外使用了在傳回輸出的交談作業中並不具備輸出記錄的執行方法。

1.1.2 副檔名不區分大小寫。

允許使用大寫或小寫來撰寫 Cobol 原始檔的副檔名。

亦即,不區分大小寫表示可以接受 .CBL,也可接受 .cbl

1.1.3 PK23138:記錄定義檔 - 在重新定義後所出現的 ODO 的「TD 公式」不正確

起始註解:
如果在重新定義後出現 OCCURS DEPENDING ON,則重新定義的公式不正確。在下列 COBOL 結構中:

01 LK-TH-COLT-ITEM.
05 LK-TH-COLT-DDA-IND

05 LK-TH-COLT-POSTED-DATE PIC S9(9) COMP-3.
05 LK-TH-COLT-VALUE-DATE PIC S9(9) COMP-3.
05 LK-TH-COLT-DB-CR-IND PIC X.
05 LK-TH-COLT-TX-AMOUNT PIC S9(11)V99 COMP-3.
05 LK-TH-COLT-BALANCE-X PIC X(7).
05 LK-TH-COLT-BALANCE REDEFINES LK-TH-COLT-BALANCE-X
PIC S9(11)V99 COMP-3.
05 LK-TH-COLT-DDA-TRAN-CODE PIC S9(5) COMP-3.
05 LK-TH-COLT-CBA-TRAN-CODE PIC S9(5) COMP-3.
05 LK-TH-COLT-DELIVERY-CHANNEL PIC X(6).
05 LK-TH-COLT-BACKDATE-IND PIC X(1).
05 LK-TH-COLT-SERIAL-NUMBER PIC S9(13) COMP-3.
05 LK-TH-COLT-TRACE-NUMBER PIC S9(11) COMP-3.
05 LK-TH-COLT-NO-OF-LINES PIC S9(3) COMP-3.
05 LK-TH-COLT-LINES OCCURS 1 TO 4 TIMES
DEPENDING ON LK-TH-COLT-NO-OF-LINES.
10 LK-TH-COLT-DESC-LINE PIC X(21).

結構的 contentSize 所產生的公式為:
add(61,mpy(21,val(1,14)))
公式應該是:
add(54,mpy(21,val(1,14)))

可能是同時一起新增重新定義的兩個元素,因此額外多出 7 個位元組!只能將重新定義的一個項目用於基本程式偏移計算中。在第 6 版以及 Constellation 程式碼庫中都有這個問題存在。

您也應該查看交互混用重新定義的複式重新定義作業,以確保公式的計算方式是正確的。

1.1.4 PK22886:記錄定義檔中包含多個 ODO 的 J2C 發生 NPE(空值指標異常狀況)

如果您是使用 Rational Application Developer  從 Cobol 記錄定義檔產生部分 J2C Java 類別。

產生程序似乎正常, 但在執行時期,您會收到 NullPointerException。這個狀況最特別的是有多個 ODO,但 ODO 內部沒有 ODO,
只是有多個 ODO。                                

1.1.5 PK25739:在產生的程式碼中,等式比較的結尾並未加上 .trim()'。 

新增 trim() 至 getter 方法的結果。

將 doclet

@type-descriptor.recognition-desc pattern="xxxx"

新增到傳回 String 的資料連結 (databinding) 中的方法。

當您儲存時,所產生的 match() 方法應該會執行 'equals()',並且將 .trim() 新增至 getter 方法的結果。

類似:

if ("xxxx".equals (getFoo().trim()))

1.1.6 COBOL 對JAVA IMS 的對映變更為預設 "START IN" 資料夾。

問題說明

RAD 是從捷徑啟動,而該捷徑的 "Start in" 值
為 c:\www\server1\config。在建立 IMS Cobol 對 Java   
的對映時,這個 "Start in" 值會變更為    
使用者用來瀏覽 Cobol 檔的資料夾。                 

重新產生指示:   

建立一個捷徑來啟動工作區。 將捷徑   
"Start in:" 設為 "C:\www\server1\config"。 確定                 
"C:\www\server1\config" 已存在。                                
啟動 WTE WAS 5.1.1 伺服器。                                
http://localhost/DefaultDir/servlet/test.DefaultDirServlet     
Servlet 將傳回:                                           
        getCanonicalPath() = C:\www\server1\config             
停止伺服器                                                
產生「IMS 資料對映」。 (在         
WebContent/cobol 中提供的 cobol 記錄定義檔)                                              
啟動 WTE WAS 5.1.1 伺服器                                 
http://localhost/DefaultDir/servlet/test.DefaultDirServlet     
Servlet 將傳回:                                           
        getCanonicalPath() = C:\Rad Save                       
Workspaces\CobolMappingDefaultDir\DefaultDirWEB\WebContent\cobol

1.1.7 PMR 22509,004,000

未設定 TCPIPGroup_@Cust@__@Cust 和 LocalOptionGroup_@Cust@__@Cust@_ 內容,導致執行時期發生錯誤

問題說明:

已在受管理的連線環境中建立 J2C bean,其中的「IMS 連接器」和 JNDI 連線的目標是 WAS 5.x(使用 JNDI 精靈)..

如果這是受管理的連線,則 JNDI 連線鑑別資訊是空的。

執行時發生問題,指出有部分內容並未設定: - TCPIPGroup_@Cust@_@Cust@ 和  LocalOptionGroup_@Cust@__@Cust@_

當您檢查 WAS 5.x 伺服器配置資訊時,您會在 Connection Factory 中看到這兩個額外的 PropertyGroup。

修正:

不再將額外的內容群組移入伺服器配置中。

1.1.8 PMR 14814,379,000

「J2C 連接器工具」特性會改寫「預設」的 apache Ant 作業- "INPUT"。

問題說明:

如何重新產生問題:                                      
-確定已經安裝「J2EE 連接器工具」               
-開啟 RAD                                                      
-驗證下列位置有一個自訂 <input> 類型:                
 -「視窗」>「喜好設定」>「Ant」>「執行時期」>「類型」標籤            
-建立一個簡易的 Ant build.xml 檔                            
-插入 <input> 標示,並使用預設 Apache 屬性         
-嘗試執行 Ant 建置                                      
-建置將會失敗,並產生錯誤訊息 '<input> 類型      
不支援 "message" 屬性。'

修正:

為了避免衝突,J2C ant 類型 input 已變更為 j2cinput

如果您有任何 J2C ant Script 是以 J2C ant 類型 input 所撰寫的,您應該將它變更為 j2cinput

2.0 安裝資訊

如需安裝「J2EE 連接器工具」特性的相關資訊, 請參閱 www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/60/install_instruction/J2C6013/nl/install_zh_TW.html

2.1 硬體需求

請參閱安裝指示,以瞭解安裝「J2EE 連接器工具」特性的硬體需求。

2.2 軟體需求

您必須已經安裝下列其中一種產品,才能安裝這項特性:

如果您利用 J2C 工具來開發應用程式,並在 WebSphere Application Server 第 5 版中執行它, 請確定您已將必要的維護軟體套用至 WebSphere Application Server 第 5 版上。 詳細資料請參閱 2.2.1 節 WebSphere Application Server

請參閱安裝指示,以取得「J2EE 連接器工具」特性所支援的軟體和規格的詳細資料。

如果需要 Rational Application Developer 或 Rational Software Architect 專屬工具所支援的軟體和規格的詳細資訊,請參閱線上說明。

2.2.1 WebSphere Application Server

WebSphere 5.0 版及 WebSphere 5.1 版可支援 J2C 1.0。下表列出需要使用「J2EE 連接器工具」的 WebSphere Application Server 服務層次。Rational Application Developer 或 Rational Software ARchitect 6.0 版所提供的舊版測試環境需要表格中「需要的 WAS 分散式服務層次」直欄下所列出的服務。 WebSphere Application Server 支援網站 (www.ibm.com/software/webservers/appserv/was/support) 提供 WebSphere Application Server 的累加修正程式,例如,WAS 5.0.2.8。 www.ibm.com/support/docview.wss?rs=180&context=SSEQTP&dc=D410&dc=D420&uid=swg24004796&loc=en_US&cs=utf-8&lang=en 提供 5.0 和 5.1 的 Integration Edition 執行時期修正程式。WebSphere Application Server for z/OS® PTF 可以從 WebSphere Application Server for z/OS 支援網站 www.ibm.com/software/webservers/appserv/zos_os390/support/ 取得

WebSphere Application Server 需要 WAS 分散式服務層次 需要 WAS for z/OS 服務層次
5.0.x 版
  • 累加修正程式 5.0.2.8
  • 5.0 Integration Edition 執行時期修正程式
W502023 (PTF UK00329)
5.1.x 版
5.1 Integration Edition 執行時期修正程式
W510205 (PTF UK0028)

WebSphere 第 6 版支援 J2C 1.5 應用程式。

2.2.2 資源配接器

J2C 工具支援下列資源配接器:

2.2.3 CICS 交易閘道

「CICS 交易閘道 (CICS TG)」所支援的軟體位於 www-1.ibm.com/support/docview.wss?uid=swg21239203

3.0 已知的限制、問題和暫行解決方法

3.1.1

在「IBM ® J2EE 連接器工具特性」 6.0.1 版中所發現的限制也適用於這個版次。

3.1.2

在許多情況下,對 IMS 資源配接器的更新項目可能需要 IMS Connect 和 IMS 的 APAR 並存。如需並存的 APAR 的相關資訊, 請參閱下列網站:www.ibm.com/ims

3.1.3

您無法在任何一版的 WebSphere® Application Server 中擁有多個版本的資源配接器。出現這個問題是因為 WebSphere® Application Server 中只有一個類別路徑/載入器, 所以它實際上會混合來自兩個層次的類別,因而產生未定義的行為。

3.1.4

PMR 03591:註釋  建置器效能問題

問題說明

如果您變更註釋標示,註釋建置器會自動重新建置所有的資料連結類別。

有時候,當資料連結類別包含許多 get/set 方法時, 任何重新建置作業都需要很長的時間。CPU 使用率會高達 100%,而

使用者可能會以為工具/ 系統當機。實際上並沒有當機, 在重新建置完成,就會恢復正常。有時可能會花上 20 分鐘, 視您的資料連結類別中有多少方法而定。

暫行解決方案

3.1.5

當您使用指令行 WSADSIE to RAD J2C 移轉工具時,已移轉的成品中可能有不完整的方法主體。

問題說明

如果您使用指令行 J2CMigration.bat/J2CMigration.sh 將 WSDL 移轉至 J2C Java Beans 或「資料連結」。您會發現即使已經在方法中產生 doclets 標示, 有些方法主體仍然是空白的。

在註釋建置器根據 doclets 標示來完成方法主體的程式碼產生作業之前,寫出器已經回到指令行工具。

暫行解決方案

您需要使用工作台來開啟已移轉的工作區,然後註釋建置器會重新建置,並且產生及編譯所有的方法主體。

4.0 客戶支援中心

Rational Application Developer 的產品首頁為 www.ibm.com/software/awdtools/developer/application/。 如需 FAQ、已知問題與修正程式,以及其他支援資訊,請造訪位於 www.ibm.com/software/awdtools/developer/application/support/ 的支援網頁。

Rational Software Architect 的產品首頁是 www.ibm.com/software/awdtools/architect?swarchitect/。如需 FAQ、已知問題與修正程式的清單,以及其他支援資訊,請造訪位於 www.ibm.com/software/awdtools/architect/swarchitect/support/ 的支援網頁。

5.0 注意事項和商標

© Copyright IBM Corporation 2000, 2006. All Rights Reserved.

本 IBM 產品所附的 XDoclet 文件必須獲得許可權才能使用,而且必須遵守下列著作權聲明:Copyright © 2000-2006, XDoclet Team。All rights reserved.

本軟體中有若干部分係以 Addison-Wesley Publishing Company, Inc. 所出版的 Design Patterns: Elements of Reusable Object-Oriented Software 為基礎, 作者為 Erich Gamma、Richard Helm、Ralph Johnson 及 John Vlissides。All rights reserved.

本資訊係針對 IBM 在美國所提供之產品與服務所開發;而在其他國家或地區中,IBM 不一定提供本文所提及之各項產品、服務或功能。 請洽詢當地的 IBM 業務代表,以取得當地目前提供的產品和服務之相關資訊。 本文件在提及 IBM 產品、程式或服務時,不表示或暗示您只能使用 IBM 產品、程式或服務。 只要未侵犯 IBM 的智慧財產權,任何功能相當的產品、程式或服務都可以取代 IBM 的產品、程式或服務。 不過,任何非 IBM 的產品、程式或服務,使用者必須自行負責作業的評估和驗證責任。

本文件所說明的主題內容,IBM 可能擁有其專利或專利申請案。 提供本文件不代表提供這些專利的授權。您可以書面提出授權查詢,來函請寄到:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

如果是有關雙位元組 (DBCS) 資訊的授權查詢,請洽詢所在國的 IBM 智慧財產部門,或書面提出授權查詢,來函請寄到:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

下列段落若與該國之法律條款牴觸時,即視為不適用:International Business Machines Corporation 只依「現況」提供本出版品,不提供任何明示或默示之保證,其中包括且不限於不違反規定、可商用性或特定目的之適用性的隱含保證。有些地區在特定交易上,不允許排除明示或暗示的保證,因此,這項聲明不一定適合您。

本資訊可能會有技術上或排版印刷上的訛誤。因此,IBM 會定期修訂;並將修訂後的內容納入新版中。IBM 隨時會改進及/或變更本出版品所提及的產品及/或程式,不另行通知。

本資訊中任何對非 IBM 網站的敘述僅供參考,IBM 對該網站並不提供保證。這些網站所提供的資料不是 IBM 本產品的資料內容,如果要使用這些網站的資料,您必須自行承擔風險。

IBM 得以各種 IBM 認為適當的方式使用或散布 貴客戶提供的任何資訊,而無需對 貴客戶負責。

如果本程式的獲授權人為了 (i) 在個別建立的程式和其他程式(包括本程式)之間交換資訊, 以及 (ii) 相互使用所交換的資訊,因而需要相關的資訊,請洽詢:

Intellectual Property Dept. for Rational Software
IBM Corporation
3600 Steeles Avenue East
Markham, Ontario
Canada L3R 9Z7

上述資料之取得有其特殊要件,在某些情況下必須付費方得使用。

IBM 基於雙方之 IBM 國際程式授權合約(或任何同等合約)條款,提供本文件所提及的授權程式與其所有適用的授權資料。

本文件中所含的任何效能資料是在控制環境中所得出。因此,在其他作業環境中獲得的結果可能有明顯的差異。在開發層次的系統上可能已進行部分測量,但不保證這些測量數據在目前一般的系統上可產生相同的結果。 再者,有些測定可能是透過推測方式來評估。實際結果可能不同。本文件的使用者應驗證適用於其特定環境的資料。

本書所提及之非 IBM 產品資訊,取自產品的供應商,或其發佈的聲明或其他公開管道。IBM 並未測試過這些產品,也無法確認這些非 IBM 產品的執行效能、相容性或任何對產品的其他主張是否完全無誤。有關非 IBM 產品的性能問題應直接洽詢該產品供應商。

所有關於 IBM 未來方針或目的之聲明,IBM 得隨時可以更改或撤銷,恕不另行通知,而且僅代表目標與主旨。

這份資訊含有日常商業運作所用的資料和報告範例。 為了盡可能地加以完整說明,範例中含有個人、公司、品牌及產品的名稱。 所有名稱均為虛構,如果與實際商場企業使用的名稱及地址雷同,純屬巧合。

著作權:

這份資訊含有原始語言的範例應用程式,用以說明各作業平台中的程式設計技術。您可以基於研發、使用、銷售或散布符合作業平台(撰寫範例程式的作業平台)之應用程式介面的應用程式等目的,以任何形式複製、修改及散布這些範例程式,而不必向 IBM 付費。這些範例並未在所有情況下完整測試。 因此,IBM 不保證或暗示這些程式的可靠性、有用性或功能。

這些範例程式或任何衍生成果的每份複本或任何部分,都必須依照下列方式併入著作權聲明:

©(您的公司名稱)(年份)。本程式的若干部分係衍生自 IBM 公司的範例程式。 © Copyright IBM Corp. 2000, 2006. All rights reserved.

如果 貴客戶閱讀的是這項資訊的電子檔,可能不會有照片和彩色說明。

程式設計介面資訊

程式設計介面資訊之目的,是要協助您利用這個程式來建立應用軟體。

通用程式設計介面可讓您撰寫應用軟體,以取得本程式工具的服務。

不過,這份資訊也可能包含診斷、修正和調整資訊。提供診斷、修正和調整資訊,是要協助您進行應用軟體的除錯。

警告:請勿將這份診斷、修正和調整資訊當作程式設計介面使用,因為它隨時會改變。

商標和服務標記

下列詞彙是 International Business Machines Corporation 在美國及/或其他國家或地區的商標:

Java 和所有以 Java 為基礎的商標是 Sun Microsystems, Inc. 在美國及/或其他國家或地區的商標。

Windows® 和 Windows NT® 是 Microsoft® Corporation 在美國及/或其他國家的商標。

Intel® 和 Pentium® 是 Intel Corporation 或其子公司在美國及/或其他國家的商標或註冊商標。

UNIX® 是 The Open Group 在美國和其他國家的註冊商標。

Linux® 是 Linus Torvalds 在美國及/或其他國家的商標。

其他公司、產品或服務名稱,可能是第三者的商標或服務標記。