Today I faced this new issue I’ve never got before. It happened when I was trying to set Entry Template on a folder in ICN, which is weird because I did that plenty of times in the past.
Perhaps another app I installed changed a configuration in WebSphere.
Here is the symptoms when I was updating the entry templates on the folder:
Message as text:
Contact your system administrator with the following information: An unexpected exception occurred. The unexpected exception is chained to this exception. Message was: RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: ; nested exception is: com.filenet.api.exception.EngineRuntimeException: FNRCC0036E: CONTENT_DCA_FAILED_INSERT: The content element could not be inserted.
And in the SystemOut.log from WebSphere:
000000e2 .ibm.ejs.container.LocalExceptionMappingStrategy 3 NON_APPLICATION_EXCEPTION_METHOD_ON_BEAN_CNTR0020E com.filenet.api.exception.EngineRuntimeException: FNRCC0036E: CONTENT_DCA_FAILED_INSERT: The content element could not be inserted. at com.filenet.engine.content.DatabaseContentArea.copyElementToInbound(DatabaseContentArea.java:2034) at com.filenet.engine.content.ContentStreamUploader.doUpload(ContentStreamUploader.java:196) at com.filenet.engine.content.PutContentHandler.putContent(PutContentHandler.java:203) at com.filenet.engine.jca.impl.RequestBrokerImpl.putContent(RequestBrokerImpl.java:448) at com.filenet.engine.jca.impl.RequestBrokerImpl.putContent(RequestBrokerImpl.java:356) at com.filenet.engine.ejb.EngineContentCoreBean._putContent(EngineContentCoreBean.java:82) at com.filenet.engine.ejb.EngineContentCoreBean.putContent(EngineContentCoreBean.java:57) at com.filenet.engine.ejb.EJSLocalStatelessEngineContentCore_dd5e7ec6.putContent(Unknown Source) at com.filenet.engine.ejb.EngineContentBean.putContent(EngineContentBean.java:192) at com.filenet.apiimpl.transport.ejbstubs.EJSRemoteStatelessEngineContent_a66a23a6.putContent(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:613) at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:609) at java.security.AccessController.doPrivileged(AccessController.java:280) at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:606) at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1177) at $Proxy140.putContent(Unknown Source) at com.filenet.apiimpl.transport.ejbstubs._EngineContent_Stub.putContent(Unknown Source) at com.filenet.apiimpl.transport.ejb.ContentEJB.putContent(ContentEJB.java:475) at com.filenet.apiimpl.transport.ejb.ContentPush$EJBImpl.putContent(ContentPush.java:892) at com.filenet.apiimpl.transport.ejb.ContentPush$EJBImpl.run(ContentPush.java:749) at java.security.AccessController.doPrivileged(AccessController.java:314) at javax.security.auth.Subject.doAs(Subject.java:572) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:195) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:152) at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:613) at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:220) at com.filenet.apiimpl.transport.ejb.ContentPush$EJBImpl.uploadContent(ContentPush.java:555) at com.filenet.apiimpl.transport.ejb.ContentPush.uploadContent(ContentPush.java:312) at com.filenet.apiimpl.transport.ejb.ContentPush.singleThreadUpload(ContentPush.java:289) at com.filenet.apiimpl.transport.ejb.ContentPush.uploadContent(ContentPush.java:152) at com.filenet.apiimpl.transport.ejb.EJBSession.executeChanges(EJBSession.java:371) at com.filenet.apiimpl.util.SessionHandle.executeChanges(SessionHandle.java:112) at com.filenet.apiimpl.core.Session.callExecuteChanges(Session.java:144) at com.filenet.apiimpl.core.Session.executeChanges(Session.java:527) at com.filenet.apiimpl.core.Session.executeChange(Session.java:830) at com.filenet.apiimpl.core.IndependentlyPersistableObjectImpl.save(IndependentlyPersistableObjectImpl.java:85) at com.filenet.apiimpl.core.IndependentlyPersistableObjectImpl.save(IndependentlyPersistableObjectImpl.java:76) at com.ibm.ecm.util.p8.P8FolderTemplates.associateTemplatesWithFolder(P8FolderTemplates.java:120) at com.ibm.ecm.struts.actions.p8.P8SaveEntryTemplateFolderAssociations.executeAction(P8SaveEntryTemplateFolderAssociations.java:33) at com.ibm.ecm.struts.actions.p8.P8BaseAction.executeBaseAction(P8BaseAction.java:183) at com.ibm.ecm.struts.actions.BaseAction.execute(BaseAction.java:211) at com.ibm.ecm.jaxrs.Actions.loadAndExecuteAction(Actions.java:241) at com.ibm.ecm.jaxrs.Actions.handleAction(Actions.java:83) at com.ibm.ecm.jaxrs.Actions.handlePostRepositoryActions(Actions.java:183) at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:613) at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63) at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:183) at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26) at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22) at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75) at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60) at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207) at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154) at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783) Caused by: com.filenet.api.exception.EngineRuntimeException: FNRCD0009E: DB_ERROR: The database access failed with the following error: ErrorCode 0, Message 'DSRA1300E: Feature is not implemented: PreparedStatement.setBinaryStream' ObjectStore: "TARGETOS" at com.filenet.engine.dbpersist.DBDB2Context.throwEngineException(DBDB2Context.java:730) at com.filenet.engine.dbpersist.DBContext.throwEngineException(DBContext.java:1277) at com.filenet.engine.dbpersist.DBStatementBase.setBinding(DBStatementBase.java:640) at com.filenet.engine.dbpersist.DBStatementBase.buildSingleExecution(DBStatementBase.java:526) at com.filenet.engine.dbpersist.DBStatementBase.execute(DBStatementBase.java:271) at com.filenet.engine.content.DatabaseContentArea.copyElementToInbound(DatabaseContentArea.java:2027) ... 122 more Caused by: java.sql.SQLFeatureNotSupportedException: DSRA1300E: Feature is not implemented: PreparedStatement.setBinaryStream at com.ibm.ws.rsadapter.AdapterUtil.notSupportedX(AdapterUtil.java:1460) at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setBinaryStream(WSJdbcPreparedStatement.java:1424) at com.filenet.engine.dbpersist.DBStatementBase.setBinding(DBStatementBase.java:624) ... 125 more Caused by: java.lang.AbstractMethodError: java/sql/PreparedStatement.setBinaryStream(ILjava/io/InputStream;)V at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setBinaryStream(WSJdbcPreparedStatement.java:1408) ... 126 more
It seems that my DataSources are not using JDBC 4 anymore but 3 instead (strange ???). To fix this, go to your JDBC DataProvider in WebSphere Resources > JDBC > JDBC Data Providers and edit the providers :
- IBM Content Navigator JDBC provider for DB2
- JDBC provider for DB2
- JDBC provider for DB2 (XA)
to modify in the Class Path:
${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar
to
${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc4.jar
And restart you WebSphere server. That should fix the issue.
thank you Sir, saved me hours 🙂