cancel
Showing results for 
Search instead for 
Did you mean: 

Java Mapping Linkage error during mapping

SushantShinde
Advisor
Advisor
0 Kudos
889

Hello Experts,

Getting the below error while executing a Java mapping in OM. please help

  • LinkageError during appliction Java mapping com/apcfss/cfms/ekuber/EkuberDigitalSigner

  • java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
    at com.apcfss.cfms.ekuber.EkuberDigitalSigner.transform(EkuberDigitalSigner.java:114)
    at com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:112)
    at com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
    at com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
    at com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
    at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
    at com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
    at com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40)
    at com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40)
    at sun.reflect.GeneratedMethodAccessor868.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:172)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:99)
    at com.sun.proxy.$Proxy3519.execute(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor867.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:241)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:483)
    at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:83)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
    at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
    at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:1055)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
    at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused by: com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: org/apache/commons/codec/binary/Base64.class
    at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.getInputStream(InternalMappingFinder.java:119)
    at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.readClass(InternalMappingFinder.java:81)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.findClass(MappingLoader.java:173)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.loadClass(MappingLoader.java:237)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    ... 49 more
    Root Cause:
    com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: org/apache/commons/codec/binary/Base64.class
    at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.getInputStream(InternalMappingFinder.java:119)
    at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.readClass(InternalMappingFinder.java:81)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.findClass(MappingLoader.java:173)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.loadClass(MappingLoader.java:237)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at com.apcfss.cfms.ekuber.EkuberDigitalSigner.transform(EkuberDigitalSigner.java:114)
    at com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:112)
    at com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
    at com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
    at com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
    at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
    at com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
    at com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40)
    at com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40)
    at sun.reflect.GeneratedMethodAccessor868.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:172)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:99)
    at com.sun.proxy.$Proxy3519.execute(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor867.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:241)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:483)
    at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:83)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
    at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
    at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:1055)
    at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
    at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)

MY PI version : SAP PI 7.50

SAP JVM version : 8.1.028

SAP NWDS 7.5 sp12

External Jars included : bcmail-jdk16-1.45.jar, bcprov-jdk16-1.45.jar, commons-codec-1.11.jar

JDK used to compile in NWDS : JRE 1.8.0_191

View Entire Topic
former_member108703
Participant
0 Kudos

Hello Sushant,

The error indicates that a missing class causes this error, so you will need to deploy these classes into your system.

Probably there is no such class file what you use in your code: org/apache/commons/codec/binary/Base64


Regards,

Zoltan

SushantShinde
Advisor
Advisor
0 Kudos

Hello Zoltan,

Thank you for your attention.

I have imported the required library commons-codec.jar to my built path in NWDS, its doesn't give me a error while compiling in NWDS and the mentioned library has the class Base64, as I am using methods available in the class in my code.

Regards,

Sushant