Products | Versions |
---|---|
TIBCO ActiveMatrix BusinessWorks Plug-in for SAP Solutions | - |
If a SAP adapter service uses RVCM as the transport, it fails to start under Linux and throws the following error.
++++++++++++++++++++++++++++
Environment variables successfully set
Processing /tibco/private/adapter/AdapterConfigurations/SAPAdapter/R3AdapterConfiguration/SAPAdapter ...
WRAPPER - start method threw an exception
Exception in thread "main" java.lang.NoSuchMethodError: com.tibco.tibrv.Tibrv.encodeString(Ljava/lang/String;)[B
at com.tibco.tibrv.TibrvCmQueueTransport.<init>(TibrvCmQueueTransport.java:85)
at com.tibco.sdk.events.pubsub.MRvcmqSession.createRvTransport(MRvcmqSession.java:85)
at com.tibco.sdk.events.pubsub.MRvdaSession.initRvTransport(MRvdaSession.java:36)
at com.tibco.sdk.events.MRvSession.init(MRvSession.java:552)
at com.tibco.sdk.events.MRvSession.<init>(MRvSession.java:196)
at com.tibco.sdk.MConfigurationUtilities.createRvCmqSession(MConfigurationUtilities.java:239)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readRvCmqSession(MDeploymentDeserializer.java:556)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readAnySupportedType(MDeploymentDeserializer.java:271)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:231)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.internalRead(MPropertyBasedDeserializer.java:187)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:215)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:201)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOf(MPropertyBasedDeserializer.java:195)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readMessaging(MDeploymentDeserializer.java:383)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readAnySupportedType(MDeploymentDeserializer.java:265)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:231)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.internalRead(MPropertyBasedDeserializer.java:187)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:215)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:201)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOf(MPropertyBasedDeserializer.java:195)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readSessions(MDeploymentDeserializer.java:1201)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readAnySupportedType(MDeploymentDeserializer.java:263)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:231)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.internalRead(MPropertyBasedDeserializer.java:187)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:215)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOfFrom(MPropertyBasedDeserializer.java:201)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAllOf(MPropertyBasedDeserializer.java:195)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readDeployment(MDeploymentDeserializer.java:369)
at com.tibco.sdk.serializer.config.MDeploymentDeserializer.readAnySupportedType(MDeploymentDeserializer.java:331)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:231)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.deserialize(MPropertyBasedDeserializer.java:32)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:228)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.internalRead(MPropertyBasedDeserializer.java:187)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readOptional(MPropertyBasedDeserializer.java:264)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readOptional(MPropertyBasedDeserializer.java:255)
at com.tibco.sdk.serializer.MConfigDeserializer.readConfig(MConfigDeserializer.java:83)
at com.tibco.sdk.serializer.MConfigDeserializer.readAnySupportedType(MConfigDeserializer.java:54)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.readAny(MPropertyBasedDeserializer.java:231)
at com.tibco.sdk.serializer.MPropertyBasedDeserializer.deserialize(MPropertyBasedDeserializer.java:32)
at com.tibco.sdk.MAppImpl.onConfigDeserialize(MAppImpl.java:339)
at com.tibco.sdk.MDefaultAppImpl.start(MDefaultAppImpl.java:120)
at com.tibco.sdk.MApp.start(MApp.java:225)
at com.tibco.sap.adapter.SAPAdapter.main(Unknown Source)
++++++++++++++++++++++++++++
The exception is thrown when the adapter loads tibrvnative.jar before tibrvj.jar . In the RV home directory you will find various JAR files which are loaded during the time of application startup. For the SAP application to work the tibrvj.jar should be loaded first.
The following workaround will fix the error in design-time/runtime.
In order to resolve this issue modify the adr3.tra or application.tra file, depending whether it is Design or runtime, and find the property named "tibco.env.STD_CP_EXT". Add "%RV_HOME%/lib/tibrvj.jar" in front of it and make sure “%RV_HOME%/lib/tibrvj.jar” is before “%RV_HOME%/lib”. Doing this ensures that the SAP application loads the tibrvj.jar file before all other JAR files present in RV home.