We are running an integration scenario involving the J2EE IDoc adapter, an ABAP sender system sends IDocs to the Adapter Engine's IDoc J2ee adapter using RFC and JCO as communication infrastructure.
These messages are failing due to error "(3) IDOC_ERROR_METADATA_UNAVAILABLE" in trasaction code SM58 on the ABAP sender system, errors such as "Error when opening an RFC connection" and "ERROR: Transaction program not registered".
You are getting this above error because the program ID "XI_IDOC_DEFAULT_" is not registered on the gateway due to incorrect maintenance of Message Listeners on the InboundRA. The Adapter Engine on the PI system needs have a consistent configuration for the J2EE IDoc Adapter, otherwise communication issues involving RFC/JCO and other issues may arise.
To resolve this issue
First you should maintain the correct entries on the "Message Listeners" tab of the InboundRA Resource Adapter. The table should contain all 9 records needed for the Resource Adapter, the records are:
Type | Activation Specification Class |
javax.resource.cci.MessageListener | com.sap.mw.jco.jra.JRA$StandardActivationSpec |
com.sap.mw.jco.jra.IDocMessageListener | com.sap.mw.jco.jra.JRA$IDocActivationSpec |
com.sap.mw.jco.jra.QueuedIDocMessageListener | com.sap.mw.jco.jra.JRA$IDocActivationSpec |
com.sap.mw.jco.jra.SynchronousMessageListener | com.sap.mw.jco.jra.JRA$SynchronousActivationSpec |
com.sap.mw.jco.jra.IDocQueueMessageListener | com.sap.mw.jco.jra.JRA$IDocActivationSpec |
com.sap.mw.jco.jra.AsynchronousMessageListener | com.sap.mw.jco.jra.JRA$AsynchronousActivationSpec |
com.sap.mw.jco.jra.StatefulSynchronousMessageListener | com.sap.mw.jco.jra.JRA$StatefulSynchronousActivationSpec |
com.sap.mw.jco.jra.JmsMessageListener | com.sap.mw.jco.jra.JRA$JmsActivationSpec |
com.sap.mw.jco.jra.TransactionalMessageListener | com.sap.mw.jco.jra.JRA$TransactionalActivationSpec |