IBM WebSphere IBM WebSphere Adapter Foundation Classes, version 7.5.0.2_IF03 notes

This document contains the following sections:
Enhancements and fixes
New and modified connector properties
Upgrade notes


This table lists the enhancements and fixes in interim fix version 7.5.0.2 IF03.
Fixes
#CRAPARTitleDetails
17230Incomplete XSD namespace package generated [RAD]
Symptom: When regenerating the Business Object classes using an XSD schema file from SAP or PeopleSoft WebSphere Adapters, an incorrect package name is returned when the targetNamespace does not start with www
Resolution: Problem in the logic that converts the namespace to package name in the RecordGeneratorHelper class.
27220ALEInbound does not work when PI is enabled. Problem with the package name generated in RAD when the namespace is urn
Symptom: RecordGeneratorHelper where the namespace to package conversion happens does not handle the namespace that is of urn type.
Resolution: Support to handle namespace of urn type added in RecordGeneratorHelper.
37162Generated Java bindings have incorrect xsdLocation in the commented code section
Symptom: Generated Java bindings have incorrect xsdLocation in the commented code section
Resolution: The method generateDataBinding now returns only one top level root node matching to the business object previously mutliple root nodes were returned,hence the databindings had incorrect namespace
47187CI Default value should be populated for attributes in the generated schemas for idocs, no support in AFC for enum types
Symptom: CI Default value should be populated for attributes in the generated schemas for idocs, no support in AFC for enum types
Resolution: Support for enum types for xsd attributes added in AFC



This table lists the enhancements and fixes in fix pack version 7.5.0.2.
Enhancements
#CRAPARTitleDetails
There are no enhancements in this fix pack.
Fixes
#RTC Defect #APARTitleDetails
16821Create EventStore to ActivationSpec mapping for ConnectionLeak issue in recovery
Symptom: Connection Leak during XARecovery
Resolution: AFC recovery implementation modified to handle the connection leak issue.
26819EventPersistenceDBImpl getEvents method needs to check if xid is null while picking new events
Symptom: Adapter was returning both in-doubt and new events to AFC while executing the getEvents API
Resolution: While fetching new events two checks needs to be performed i) Events status should be 0 ii) xid should be null . getEvents API will now filter and fetch new events based on these two crtiteria .
36818EventStoreBackedXAResource throws unhandled NullPointerException in Commit and Rollback calls for when event is null .
Symptom: NullPointerExceptions seen in the logs during Inbound processing of events .
Resolution: With the fix when an event for a requested Xid is not found in the EventStore, an XA exception will be thrown, which will be sent to the container. Depending on the error code set on the XAException based on one phase or two phase commit, the container will send an appropriate call. Example in case of two phase commit the container will reissue a commit call.
46816Error while formatting the Xid
Symptom: Format check for pending xids from adapter was failing, because of which recovery of pending transactions not taking place ..
Resolution: Xid format check in XidImpl fixed to verify the correctness of the xid format .
56815Forget and Rollback calls are not setting xid to null, post recovery
Symptom: Events that have been rolled back during recovery are not picked up for future processing..
Resolution: Events that have been rolled back during recovery needs to be made eligible for future poll cycles to fetch them, this is done by updating these events in the event store such that they qualify as new events, that can be fetched by future poll cycles.
66744CheckIllegalXMLCharacter is using String instead of StringBuffer which will eventually lead to a high heap usage
Symptom: Use of String in CheckIllegalXMLCharacter leads to creation of large number of String objects as String is immutable, heap profiling showed increasing number of String objects that are not getting cleaned up, this has a potential to cause a problem when the input size is large.
Resolution: Changed the implementation to use StringBuffer instead of String..
76861When the retry connection limit is set to a value greater than 0, the validation check is performed only on the first matched connection
Symptom: When the retry connection limit is set to a value greater than 0, the connection is checked for validity, If valid, the connection is returned, else null signalling container to create a new connection. This whole process has to be repeated until a valid connection is found in the given candidate connection set before returning null. However, this stops at the first matching connection in the given set of candidate connections by the container.
Resolution: With the fix when the "retry connection limit" is > 0, you will have the AFC component iterate through all matched managed connections and return one which is valid. If none is found to be valid it would return null..
86928JR42534Adapter stops polling once WorkRejectedException is thrown by container
Symptom: WorkRejectedException in logs, followed by adapter stopping to poll
Resolution: Work that was rejected was not getting removed from the workInPorgress list which was resulting in no new work to be added for submission, as a result of which adapter could not poll once a poll work was rejected.
97009Adapter throws NullpointerException, when rolling back the XAResource if the event was not delivered to the endpoint
Symptom: The Adapter throws NullPointerException when updating the event persistence table with XID as null on the rollback() method of the XAResource.
Resolution: The issue is fixed so that the event persistence table is updated with XID as null during the rollback() method of the XAResource.
107023Adapter throws ArrayIndexOutOfBoundException during recovery, if the event being recovered does not exist in the event persistence table
Symptom: Adapter throws ArrayIndexOutOfBoundException during recovery, if the event being recovered does not exist in the event persistence table
Resolution: The issue has been fixed so that the Adapter returns null if the event is not present in the event table.
117099DataStoreAdapterException is thrown when Adapter tried to close the connection to the event persistence database table
Symptom: While running in a local transaction in a non-auto commit mode, the adapter attempts to close the SQL connection if the SQL operations fails. This results in a DataStoreAdapterException due to attempt to closing a connection which is in transaction.
Resolution: The issue has been fixed so that rollback is called on the failed transaction before closing the transaction
127147Adapter foundation classes should provide a method to retrieve all the events in the event persistence table
Symptom: Adapters require to query all the events in the event persistence table. Currently there is no helper method in foundation classes to retrieve all the events.
Resolution: A method getAllEvents() is provided to retrieve all the events from the event persistence table.
13BPM Defect #76768FileNotFound issue when file URL points to file within a jar in WBIDataBindingGenerator
Symptom: FileNotFound issue when file URL points to file within a jar
Resolution: Problem was occuring because the AFC code assumed that the URL will also point to a file, support for other protocols was not provided. This is corrected to enable support for all protocols in URL


This table lists new connector properties
#VersionPlatformAdd or RemoveProperty (Note that property names are case sensitive)
There is no new connector property introduced/modified for this version of fix pack.


To upgrade to the fix pack version 7.5.0.2, do the following:
1. Ensure you have followed the 'Installation Instructions' section in the download link before proceeding further.
2. If you need to use the Fix Pack for External Service, delete the connector project in the IBM Integration Designer, import the new rar and apply the EIS specific dependency files. The following steps describe how to do the same.
   a. Open the Java Build Path for the SCA module and remove the Connector project selected on projects tab.
   b. Open the dependency editor and remove the connector project.
   c. Delete the connector project from workspace.
   d. Import the new rar file. Add any dependency files from EIS specific APIs as needed.
   e. Open Java build path for the SCA module and select the Connector project selected on projects tab.
   f. Open the dependency editor and add the connector project if it is not already present and check "Deploy with Module".
3. If you need to update deployed applications on the IBM Process Server.
   a. Select "Update" for the corresponding application on the IBM Process Server Admin Console.
   b. Select "Single Module" with relative path as name of the rar file eg. - CWYFT_FTPFile.rar.
   c. Click the "Browse" button on local file system to select the updated rar file that has the changes.
   d. Select the default values in the remaining steps and click 'Finish'. This will ensure that existing configurations e.g. MCF, are not changed and jars will be merely updated.


July 20th, 2012 6:00 PM
(C) 2012 IBM Corporation. Proprietary and Confidential. All Rights Reserved.