Call from TIBCO Data Virtualization (TDV) to a web service operation returns NoSuchMethodError
book
Article ID: KB0076130
calendar_today
Updated On:
Products
Versions
TIBCO Data Virtualization
7.0 and higher
Description
Scenario:
After a TDV upgrade, you see this error in your cs_server.log as a result of an execution of an introspected web service operation. The error refers to Apache's Base64 codec.
Caused by: java.lang.Exception: An internal error has occurred. Cause: org.apache.commons.codec.binary.Base64.<init>(I)V at com.compositesw.cdms.webapi.service.Util.createWebapiException(Util.java:94) ... 33 more Caused by: org.apache.commons.codec.binary.Base64.<init>(I)V at com.compositesw.common.CompositeRuntimeException.rethrow(CompositeRuntimeException.java:143) at com.compositesw.server.request.HookProcedureRequest.invoke(HookProcedureRequest.java:83) at com.compositesw.cdms.webapi.service.WProcResultImpl$InvokerThread.run(WProcResultImpl.java:760) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ... 1 more Caused by: java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.<init>(I)V at org.apache.http.impl.auth.BasicScheme.authenticate(BasicScheme.java:166) at org.apache.http.impl.auth.HttpAuthenticator.doAuth(HttpAuthenticator.java:239) at org.apache.http.impl.auth.HttpAuthenticator.generateAuthResponse(HttpAuthenticator.java:218) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:263) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at com.compositesw.cdms.ds.xmlhttp.XmlHttpConnection.call(XmlHttpConnection.java:365) at com.compositesw.cdms.ds.xmlhttp.XmlHttpRequest.invoke(XmlHttpRequest.java:61) at com.compositesw.server.request.HookProcedureRequest.invoke(HookProcedureRequest.java:79) ... 4 more
Issue/Introduction
This concerns an issue of installations and upgrades
Resolution
Look in your installation path /apps/common/lib for the presence of both of these files: commons-codec-1.3.jar commons-codec-1.9.jar
The commons-codec-1.3.jar file is a remnant of earlier versions of data virtualization prior to TIBCO. You should only have /apps/common/lib/commons-codec-1.9.jar present in your installs of TDV through version 8.2, at the time of this writing.
Delete commons-codec-1.3.jar to resolve the Base64 error. This file may have been unsuccessfully removed during the upgrade process.