To view the latest version of this file, see the readme at www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/601/html/J2C6013/Readme_6013.html
This file is available in the following national languages:
Brazilian Portuguese | Chinese - Simplified | Chinese - Traditional |
French | German | Italian |
Japanese | Korean | Spanish |
1.0
About this release
1.1
Product fix history
2.0
Installation information
2.1
Hardware requirements
2.2
Software requirements
2.2.1
WebSphere® Application Server
2.2.2
Resource adapters
2.2.3
CICS Transaction Gateway
3.0
Known limitations, problems, and workarounds
4.0
Customer support
5.0
Notices and trademarks
The J2EE Connector (J2C) Architecture tools allow you to create J2EE applications that integrate and extend operations and data on existing Enterprise Information Systems (EIS).
This release contains fixes and applies maintenance to both IMS™ resource adapters included in Rational® Application Developer and Rational Software Architect. After applying the update:
The following fixes are included in this release of the J2EE Connector Tools Feature:
IMS Connector for Java Versions 9.1.0.1.3a and 9.1.0.2.2a are included, for development purposes, in the J2EE Connector Tools Feature Version 6.0.1.3 for IBM Rational Application Developer Version 6.0.1.2. 6.0.1.1 or 6.0.1. These are maintenance only (no new function) releases and include the following updates:
The current retry function in IMS Connector for Java allows IMS Connector for Java to attempt to re-establish a connection whenever it encounters a communications failure in the process of sending a request to or receiving a response from IMS Connect. This function was implemented at the interaction level and it has been determined that this implementation could lead to duplicate interactions in cases where a request was submitted to IMS and executed, but the output was prevented from being delivered to IMS Connector for Java. If in this situation, IMS Connector for Java received a connection error while waiting for the response, IMS Connector for Java would retry the interaction. This could lead to duplicate interactions being processed in IMS. To eliminate this possibility, the current interaction-based retry function has been disabled in this maintenance release.
If IMS Connector for Java receives a response and is notified that there is additional (secondary) output available to be received, since IMS Connector for Java is only able to return one output message per interaction, IMS Connector for Java will NAK all secondary output causing it to be placed on the OTMA hold queue before returning the first response that it received. If an error occurs while IMS Connector for Java is NAKing the secondary output, IMS Connector for Java will currently discard the original output and return an exception to the client containing that error. As a result, the original output will be lost and is not recoverable. This problem has been fixed in this maintenance release by changing IMS Connector for Java's behavior in this situation such that IMS Connector for Java will now return the original output message and ignore the error that occurred while NAKing the secondary output. The undelivered secondary output will continue to be routed to the OTMA hold queue.
If an application tries to retrieve an output message using the SYNC_RECEIVE_ASYNCOUTPUT interaction and that message originated from a non-OTMA client (e.g., a 3270 terminal rather than an IMS Connector for Java-based client application,) it will instead receive an "ICO0026E: com.ibm.ims.ico.IMSOutputOTMAMsg@2637e2ea.setMsg(byte[]) error." instead of the message. This could happen if a non-OTMA client starts an IMS application that in turn does an ISRT to an ALTPCB. When the IMS Connector for Java-based client application tries to retrieve the message, OTMA adds the "Control", "State", and "Security" segments to the message header. Then, the DFSYDRU0 exit is supposed to add the "User Data" segment to the message header. If it does not, IMS Connector for Java will throw the above exception since IMS Connector for Java depends on the User Data segment being present. With this fix, IMS Connector for Java will now throw a more meaningful exception: "ICO0027E: com.ibm.ims.ico.IMSOutputOTMAMsg@xxxxxxxx.setMsg(byte[]) error. The OTMA header of the IMS output message did not contain a USER DATA segment."
If you are executing a two-phase commit transaction using a shareable IMS connection, the proper security credentials may not be used. If you pass "UserA" in the IMSConnectionSpec when first getting a connection, that ID is used as expected. If in your CCI application, you do not close ConnectionA, but then get a new connection with "UserB" specified in the IMSConnectionSpec, ConnectionB will correctly use the security credentials of "UserB". However, if your CCI application then goes back and uses ConnnectionA again (since it was not closed,) ConnectionA will now be using the credentials of "UserB". To fix this problem, the IMSConnectionRequestInfo.equals() method has changed so that it looks at the username and password of a candidate IMSConnectionRequestInfo to check if they match the values needed for the current interaction. This ensures that, when an application requests a connection with "UserB" in the IMSConnectionSpec as described in the example in the previous paragraph, a connection handle to a new IMSManagedConnection object will be returned, and there will be no sharing since the existing connection in the pool has "UserA" in the IMSConnectionSpec. The new IMSManagedConnection object will correctly carry the credentials of "UserB". If the app?ication then goes back and tries to re-use the connection which has "UserA" in the IMSConnectionSpec, it will get the original connection with the correct security credentials for "UserA."
The execute method (of the IMSInteraction class) which takes two parameters, an IMSInteractionSpec and an input Record, has been deprecated in this maintenance release. The execute method which takes an IMSInteractionSpec and both an input Record and an output record as parameters has not been deprecated. This was done to prevent CCI applications from inadvertently using the execute method which does not have an output record for interactions that return output.
Allow the cobol source file extensions to be any case.
Ie. Case insensitive, can accept .CBL, .cbl.. as well
Initial Comment:
If a OCCURS DEPENDING ON occurs after a redefine, the
formula for the redefine is incorrect. For the following COBOL structure:
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).
The formula for the contentSize of the structure is generated to
be:
add(61,mpy(21,val(1,14)))
The formula should
be:
add(54,mpy(21,val(1,14)))
It appears that both elements of the redefine are added together to give an extra 7 bytes! Only one item from the redefine should used in the base offset calculation. This problem exists in both the V6 and Constellation code bases.
A complex redefine should also be looked at with redefines intermixed to ensure that the formulas are calculated correctly.
If you generate some J2C Java classes from a Cobol copybook using Rational Application Developer.
The generate process appeared to work fine, but at runtime you will get
a NullPointerException. What is unique about this situation is that there are
multiple ODOs, no ODOs inside of ODOs,
but multiple
ODOs.
Adding trim() to the result of the getter method.
Add a
@type-descriptor.recognition-desc pattern="xxxx"
doclet to a method in a databinding which returns a String.
When you save, the generated match() method should be doing an 'equals()' with a .trim() being added to the result of the getter method.
Something like:
if ("xxxx".equals (getFoo().trim()))
RAD is started from a shorcut with the shortcut "Start in" value
of
c:\www\server1\config. When creating an IMS Cobol to Jav?
mapping, this "Start in" value will be changed to
whichever
folder the user browses to for the Cobol
file.
Reproduce instructions:
Create a shortcut to launch the workspace. Set the
shortcut
"Start in:" to "C:\www\server1\config".
Ensure
"C:\www\server1\config"
exists.
Start the WTE WAS 5.1.1
server.
http://localhost/DefaultDir/servlet/test.DefaultDirServlet
Servlet will
return:
getCanonicalPath() =
C:\www\server1\config
Stop the
server
Generate the IMS Data Mapping. (cobol copy supplied
in
WebContent/cobol)
Start the WTE WAS 5.1.1
server
http://localhost/DefaultDir/servlet/test.DefaultDirServlet
Servlet will
return:
getCanonicalPath() = C:\Rad
Save
Workspaces\CobolMappingDefaultDir\DefaultDirWEB\WebContent\cobol
TCPIPGroup_@Cust@__@Cust and LocalOptionGroup_@Cust@__@Cust@_ property Not set causing runtime errors
Problem description:created a J2C bean with IMS Connectors and a JNDI connection targetting WAS 5.x (use JNDI wizard) in a managed connection enviornment..
If it is a managed connection, the JNDI connection authentication information is empty.
When run, there are errors about some properties not being set: - TCPIPGroup_@Cust@_@Cust@ and LocalOptionGroup_@Cust@__@Cust@_
When you examine the WAS 5.x server config information. you will see these two extra PropertyGroups in the connection factories.
Fix:
No longer populate the extra property g?oups into server configuration.
J2C Connector Tools feature overwrites Default apache Ant task- "INPUT" .
Problem description:How to reproduce
problem:
-make sure that J2EE Connector Tool is
installed
-open
RAD
-verify that there is an custom <input> Type
in
-Window > Preferences > Ant > Runtimes > Types
tab
-create a simple Ant build.xml
file
-insert the <input> tag with default Apache
attributes
-try to Run
the Ant
build
-the build will fail with error message 'The <input>
type
doesn't support the "message"
attribute.'
Fix:
The J2C ant type input has been changed to j2cinput to avoid the conflict.
If you have any J2C ant script written with J2C ant type input, you should change it to j2cinput
For information about installing the J2EE Connector Tools feature, refer to www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/60/install_instruction/J2C6013/install.html
Refer to the installation instructions for the hardware requirements for installing the J2EE Connector Tools feature.
You must have one of the following products installed before you can install this feature:
If you develop an application using the J2C tools and run it on WebSphere
Application Server Version 5, ensure that you have the required maintenance
applied to WebSphere Application Server Version 5. Refer to Section
2.2.1 WebSphere Application Server for details.
Refer to the installation instructions for more details on software and
specifications that are supported by the J2EE Connector Tools feature.
For details on software and specifications that are supported by a specific tool in Rational Application Developer or Rational Software Architect, refer to the online help.
WebSphere V5.0 and WebSphere V5.1 support J2C 1.0. The WebSphere Application Server service levels required to use the J2EE Connector Tools are listed in the table below. The back-level test environments available with Rational Application Developer or Rational Software Architect V6.0 require the service listed under WAS Distributed Service Level Required column in the table. WebSphere Application Server cumulative fixes, for example WAS 5.0.2.8, are available from the WebSphere Application Server support site (www.ibm.com/software/webservers/appserv/was/support). The Integration Edition RunTime Fixes for 5.0 and 5.1 are available from www.ibm.com/support/docview.wss?rs=180&context=SSEQTP&dc=D410&dc=D420&uid=swg24004796&loc=en_US&cs=utf-8&lang=en. WebSphere Application Server for z/OS® PTFs are available from the WebSphere Application Server for z/OS support site www.ibm.com/software/webservers/appserv/zos_os390/support/
WebSphere Application Server | WAS Distributed Service Level Required | WAS for z/OS Service Level Required |
---|---|---|
5.0.x |
|
W502023 (PTF UK00329) |
5.1.x |
Integration Edition RunTime Fixes for
5.1 |
W510205 (PTF
UK0028) |
WebSphere V6 supports J2C 1.5 applications.
The following resource adapters are supported in the J2C tools:
The limitations found in the IBM ® J2EE Connector Tools Feature Version 6.0.1 also apply to this release.
In many cases updates to the IMS resource adapter may require corequisite APARs for IMS Connect and IMS. For information about corequisite APARs see the following Web site www.ibm.com/ims.
You cannot have multiple versions of a resource adapter in any version of WebSphere® Application Server. The problem is that there is only a single classpath/loader in WebSphere® Application Server, so it will actually mix classes up from the 2 levels and you will get undefined behaviour.
PMR 03591:Annotation Builder Performance Issue
Problem descriptionThe annotation builder will automatically rebuild all your data binding classes if you make changes to the annotation tag.
There are cases when the data binding classes contains many get/set methods, any rebuild will take a very long time. The CPU will go up 100% and
The user may think that the tool/ system is hanging. Actually, it is not hanging and it will come back after the rebuild is completed . Sometimes it may take 20 minutes depnending on how many methods are in your data binding classes.
Work Around1.Be Patient
2.Try to reduce the number of methods in one data binding if possible.
Incomplete method body in migrated artifacts when you use the command line WSADSIE to RAD J2C migration tool.
Problem descriptionIf you use the command line J2CMigration.bat/J2CMigration.sh to migrate your WSDLs to J2C Java Beans or Data Binding. You will find that some of the method body is empty eventhough the doclets tags are generated in the methods.
The writer has returned to the command line tool before the annotation builder has completed the code generation of the method body based on the doclets tags.
Work Around
You will need to bring up the migrated workspace using the workbench, Then the annotation builder will rebuild and all the method bodies will be generated and compiled.
The product home page for Rational Application Developer is www.ibm.com/software/awdtools/developer/application/. For FAQs, lists of known problems and fixes, and other support information, visit the support page at www.ibm.com/software/awdtools/developer/application/support/.
The product home page for Rational Software Architect is www.ibm.com/software/awdtools/architect?swarchitect/. For FAQs, lists of known problems and fixes, and other support information, visit the support page at www.ibm.com/software/awdtools/architect/swarchitect/support/.
© Copyright IBM Corporation 2000, 2006. All Rights Reserved.
The
XDoclet Documentation included in this IBM product is used with permission and
is covered under the following copyright attribution statement: Copyright ©
2000-2006, XDoclet Team. All rights reserved.
Portions based on
Design Patterns: Elements of Reusable Object-Oriented Software, by
Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Copyright © 1995 by
Addison-Wesley Publishing Company, Inc. All rights reserved.
This
information was developed for products and services offered in the U.S.A. IBM
may not offer the products, services, or features discussed in this
documentation in other countries. Consult your local IBM representative for
information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or
imply that only that IBM product, program, or service may be used. Any
functionally equivalent product, program, or service that does not infringe any
IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product,
program, or service.
IBM may have patents or pending patent applications
covering subject matter described in this documentation. The furnishing of this
documentation does not give you any license to these patents. You can send
license inquiries, in writing, to:
IBM Director of Licensing
IBM
Corporation
North Castle Drive
Armonk, NY
10504-1785
U.S.A.
For license inquiries regarding double-byte
(DBCS) information, contact the IBM Intellectual Property Department in your
country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31
Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OR CONDITIONS OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not
apply to you.
This information could include technical inaccuracies or typographical
errors. Changes are periodically made to the information herein; these changes
will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in
this publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this
IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the
purpose of enabling: (i) the exchange of information between independently
created programs and other programs (including this one) and (ii) the mutual use
of the information which has been exchanged, should contact:
Intellectual Property Dept. for Rational Software
IBM
Corporation
3600 Steeles Avenue East
Markham, Ontario
Canada L3R
9Z7
Such information may be available, subject to appropriate terms and
conditions, including in some cases, payment of a fee.
The licensed program described in this documentation and all licensed
material available for it are provided by IBM under terms of the IBM Customer
Agreement, IBM International Program License Agreement or any equivalent
agreement between us.
Any performance data contained herein was determined in a controlled
environment. Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on development-level
systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been
estimated through extrapolation. Actual results may vary. Users of this document
should verify the applicable data for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available
sources. IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
All statements regarding IBM's future direction or intent are subject to
change or withdrawal without notice, and represent goals and objectives
only.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples may
include the names of individuals, companies, brands, and products. All of these
names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:
© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. © Copyright IBM Corp. 2000, 2006. All rights reserved.
If you are viewing a soft copy of this information, the photographs and color
illustrations may not appear.
Programming interface information is intended to help you create application software using this program.
General-use programming interfaces allow you to write application software that obtain the services of this program's tools.
However, this information may also contain diagnosis, modification, and tuning information. Diagnosis, modification, and tuning information is provided to help you debug your application software.
Warning: Do not use this diagnosis, modification, and tuning information as a programming interface because it is subject to change.
The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Windows® and Windows NT® are trademarks of Microsoft® Corporation in the United States, other countries, or both.
Intel® and Pentium® are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both.
UNIX® is a registered trademark of The Open Group in the United States and other countries.
Linux® is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product or service names, may be trademarks or service marks of others.