cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to use Apache fileupload in DC (external library)

former_member182374
Active Contributor
0 Kudos

Hello Experts,

My J2EE server version is 7.01 SP16.

I'm trying to use apache file upload in my code.

Apache solution includes two files:

commons-fileupload-1.2.2, commons-io-1.4 (the files are for Java 1.4.2)

If I create a servlet and copy the files to WEB-INF/lib everything works.

But when I try to use External Libray DC, the code compiles but I'm getting run time error:

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest


#1.5 #001B787505DE006600000022000016BC000524407A0FFF7D#1447234227555#com.sap.engine.services.servlets_jsp.client.RequestInfoServer#<my package>/createreqear#com.sap.engine.services.servlets_jsp.client.RequestInfoServer#omricoh#186##n/a##ce636c1b885611e5b4f200001e5cd776#SAPEngine_Application_Thread[impl:3]_35##0#0#Error##Plain###application [LocalDevelopment~createreq~<my package>] Processing HTTP request to servlet [UploadAttachmentServlet] finished with error. The error is: java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

    at org.apache.commons.fileupload.servlet.ServletFileUpload.isMultipartContent(ServletFileUpload.java:68)

    at <my package>.files.management.UploadAttachmentServlet.doPost(UploadAttachmentServlet.java:79)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

    at java.security.AccessController.doPrivileged(Native Method)

    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)

    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

I guess it causes some class loader issue.

My problem is similar to the problem in this thread:

https://scn.sap.com/thread/3293843

How to solve this problem?

Regards,

Omri

Accepted Solutions (1)

Accepted Solutions (1)

former_member182374
Active Contributor
0 Kudos

Solved it on my own.

As I suspected it's a classloader issue: external library is loaded from lib/ext which causes the exception.

The solution: in this case not to use external library, instead copy the two jars under the lib folder of the web application (in this way I'm still using SAP DC which I need for other references).

Regards,

Omri

Answers (0)