Transactions that involve SAP Input/Output nodes fail with WebSphere Message Broker v18.104.22.168 during runtime.
"CWYAP3071E: The adapter cannot find local transaction support in the current resource adapter, which is required for Queued RFC (qRFC) behavior. The IDoc is being processed using Transactional RFC (tRFC). Message: Queue Name Explanation=The IDoc is being processed using tRFC. Because local
transactions are not supported, qRFC cannot be used. UserAction=Use the _TX version of the RAR file
to run the qRFC call.'
When the SAP Input / SAP Output nodes are used with the WebSphere Message Broker v22.214.171.124, the underlying WebSphere Adapter for SAP's version will be 126.96.36.199_IF14. Using this version of the adapter, will result in transaction failing with messages such as - "Adapter returned null from StructuredRecord.execute() in WebSphere Adapter for SAP Software".
Additionally, in the cases where the node is configured for tRFC / qRFC, there wouldn't be any exceptions reported - however, the adapter will be functioning in non-transactional mode.
Customer can check adapters transactionality from below steps:
Open the CWYAP_SAPAdapter.jar and traverse till \CWYAP_SAPAdapter.jar\com\ibm\j2ca\sap\ and open the file transaction.properties
if supportsLocalTransaction=LocalTransaction then Tx version of the SAP adapter is used. This is the one to be used for WMB runtime.
if supportsLocalTransaction=NoTransaction then non-Tx version of SAP adapter is used. Should not be used for WMB runtime.
|This is due to the incorrect SAP Adapter jar in the WMB Package.|
Replace the CWYAP_SAPAdapter.jar in the following folder, with the jar in the 'Attachments' section below.
Note : WebSphere Message Broker has to be stopped prior to the replacement of the jar