ClassNotFoundException ActionMessage Struts 1.3.5

Hello,
When I try to use the ActionMessage class in a class that is not an Action or Form, I get a ClassNotFoundException.
I have the following function in a common utility class.
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessage;
public static void creatNetfError(String errorCode, ActionErrors errors)
if (errorCode == null)
errors.add("keyError", new ActionMessage("title.error.msg"));
else
errors.add("title", new ActionMessage("title.error.msg", errorCode));
errors.add("description", new ActionMessage("error.msg"+errorCode));
Then call it in my Action class:
ActionErrors errors = new ActionErrors();
CommonUtil.creatNetfError(request.getParameter("errorCode"), errors);
this.saveErrors(request, errors);
I get the following two exceptions (expanded format is attached at the end):
java.lang.NoClassDefFoundError: org/apache/struts/action/ActionMessage
java.lang.ClassNotFoundException: org.apache.struts.action.ActionMessage
This seems to happen if I call org.apache.struts.util.MessageResources, or org.apache.struts.util.ActionErrors in an outside helper class as well. I haven't seen anything in the documentation discouraging use of this package in other classes. Am I missing something? Usually when I get a ClassNotFoundException it is because I am missing a jar file, but in this case I am able to use the classes directly in the Action so that leads me to believe the jar file is installed correctly. Is it possible it is installed incorrectly?
Can anybody point my search in the right direction please?
Thank you
Alfreda
java.lang.NoClassDefFoundError: org/apache/struts/action/ActionMessage
at ca.gc.cra.ghnf.netf.util.CommonUtil.creatNetfError(CommonUtil.java:428)
at ca.gc.cra.ghnf.netf.web.actions.HelpAction.execute(HelpAction.java:40)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
java.lang.ClassNotFoundException: org.apache.struts.action.ActionMessage
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at ca.gc.cra.ghnf.netf.util.CommonUtil.creatNetfError(CommonUtil.java:428)
at ca.gc.cra.ghnf.netf.web.actions.HelpAction.execute(HelpAction.java:40)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Look like your classpath is a mess. Clean it up. Place the libraries only there where they belong and remove any older versioned duplicates.

Similar Messages

  • Oracle bug? - Oracle opinion welcomed (copy of post in OC4J forum)

    Hi,
    We are trying to run two web modules (A and B) on OC4J 10g standalone (on Windows 2000/XP), but we are facing a big problem.
    After much investigation we really think it is a OC4J bug, but we are opened to any opinion or solution...
    The problem is that a servlet or jsp on the web module B sometimes seems processed by OC4J by a thread created for the other web module A. As a consequence, if in the servlet (in fact in the method of a class instanciated in the servlet...) of B, we perform :
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    then we get the classloader of the web module A, and then we are not able to instantiate a class of B and get a "ClassNotFoundException".
    This problem does not always happens. It is random even if it seems to have much more chance to happen if we execute requests on both modules in a little delay.
    We tried running the two web module in a single EAR or in two separate EAR but it made no difference.
    A debug of OC4J (with Eclipse 2.1) consolidates our mind it is a OC4J problem. Here is the kind of pile of execution we get for a thread HTTPRequestHandler of OC4J :
    [top of pile]
    ServletRequestDispatcher.forwardInternal(ServletRequest, HttpServletResponse) line 317
    HttpRequestHandler.processRequest(ApplicationServerThread, EvermindHttpServlet, ...) line 790
    => in this method we have the attributes :
    - thread.contextClassLoader = the one of web module A
    - request.application.name = module_B_name and request.application.contextPatch = module_B_contextpath
    ApplicationServerThread(Thread).run() line: 536
    We already met classloader problems and resolved them putting some common librairies of A and B in the applib directory. But this can not be envisaged for our new problem. Moreover we want to keep a "parent first" classloading.
    Has someone already met similar problems ?
    Thanks for any help.

    Thanks for the answers.
    I use a OC4J 10g 9.0.4 version but an evaluation version so I have no support id for a TAR.
    Sorry if my problem is difficult to understand (maybe it's my english which is difficult to understand!), but it is really difficult to explain...
    In fact the OC4J output does not show the classloading problem.
    I use Struts in the two WAR modules, and, for those who know Struts, it appears that I sometimes get a nullPointerException because in a Struts action my ActionForm is null (which should never happened). To find why the ActionForm is null I debug my application with Eclipse and I found the ActionForm was instanciated with the following code (classname is the name of a class extending the ActionForm class):
    // Look up the class loader to be used
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    if (classLoader == null) {
    classLoader = RequestUtils.class.getClassLoader();
    // Attempt to load the specified class
    return (classLoader.loadClass(className));
    It appears that classLoader.loadClass(className) throws a ClassNotFoundException, and Struts, instead of throwing the exception, returns a value null for the ActionForm.
    With the debug I watch which classloader was used and I was surprised to see it was the classloader of my other WAR module. Though the struts servlet is well called on the good web application, and all the struts class are in the web-inf/lib directory of each application.
    I'm not sure this will make my problem easier to understand. Thanks for all who will make the effort of understand.
    emmanuel

  • Migration problem from Struts 1.2.7 to 1.3.8:java.lang.ClassNotFoundExcepti

    Hi, my current configuration is tomcat 6.0.18 and jdk 1.5. Here are the steps I followed for the migration.
    1. Replaced struts.jar with struts-core-1.3.8.jar
    2. Updated taglib .tld files which were under /WEB-INF and also kept the corresponding struts-taglib-1.3.8.jar files in lib directory.
    3. Kept the external mappings in web.xml for the tld files though.
    4. Updated struts-config.xml with
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
    "http://struts.apache.org/dtds/struts-config_1_3.dtd">
    5. As not using any cancel buttons hence did not use the cancellable attribute.
    6. Updated validation.xml with specified doctype in strutsupgrade docs.
    7. Replaced older jar files with newer versions.
    After compiling the files and deploying in Tomcat I get the following error while trying to run.
    exception
    javax.servlet.ServletException: Wrapper cannot find servlet class jsp.login_jsp or a class it depends on org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Thread.java:595)
    root cause
    java.lang.ClassNotFoundException: jsp.login_jsp
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Thread.java:595)
    What am I missing out on?
    Thankx in advance.

    hanks for the reply.
    All class files are created during build.
    I even deleted all the existing ones in tomcat/work folder.
    So the classes are up to date.
    Any other pointers?
    Furthermore do I need to change the jsp header
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    to
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    and so forth?(I did that, and its compiling but during accessing i get the same error.)
    The java deprecations shows Resources.getLocale as deprecated. Is that a problem,
    and if it is how to replace it?

  • Struts - Problem with ActionMessages

    Hi everyone:
    Here is my problem: This is the code in my action class
    catch (Exception e){
                        ActionMessages errors = new ActionMessages();
                        if (e instanceof DatabaseException)
                             errors.add("error", new ActionMessage("errors.database", e
                                       .getMessage().toString()+" Hay un error en la BD"));
                        else
                             errors.add("error", new ActionMessage("error", e
                                       .getMessage().toString()+" Hay un error"));
                        saveMessages(request, errors);
                        System.out.println(errors.size());
                        res = mapping.findForward("repetimos");
                   }I print the errors.size in order to check if it's not empty. Well, it's size is 1.
    In my jsp my code is this:
    <logic:messagesPresent message="true">
         <html:messages id="error" message="true">
              <c:out value="${error}" />
         </html:messages>
    </logic:messagesPresent>But I don't get any message when an error occurs. Am I doing anything wrong? I can't see the fail.
    I appreciate very much your attention. Thanks a lot

    In your action do you add errors to the Request or Session? It's been a while since I have worked with struts. Looking back I think we used lists to contain our error messages and displayed them in our JSP.

  • Displaying "Literal" ActionMessage in Struts 1.2.7

    Hi!
    Sorry, I have posted this topic before, but I haven't got an answer, so here's a second try.
    I need some help concerning a new feature in Struts 1.2.7.
    The ActionMessage class now has a new Constructor.
    ActionMessage(java.lang.String key, boolean resource)Setting the "resource" value to "false" allows you to define a "literal"
    Message without having to specify a key in the properties bundle. It will
    display exactly the string that is given in the 'key' argument.
    In my Action Class, I create two or more ActionMessages:
    ActionErrors errors = new ActionErrors();
    ActionMessage error1 = new ActionMessage("Literal Error 1", false);
    errors.add(ActionMessages.GLOBAL_MESSAGE, error1);
    ActionMessage error2 = new ActionMessage("Literal Error 2", false);
    errors.add(ActionMessages.GLOBAL_MESSAGE, error2);
    saveErrors(request, errors);In my JSP, I iterate over the ActionMessages in the follwing way:
    <table>
      <html:messages id="errors">
        <tr>
          <td>
            <bean:write name="errors"/>
          </td>
        </tr>
      </html:messages>
    </table>The poblem now is that in the HTML-Output, only the first Item in the Error
    list appears as a literal message, whereas Struts seems to interpret the next message as a resource key:
    - Literal Error 1
    - ???de.Literal Error 2???
    What could be the problem? Any help is appreciated!
    Thanks, Ren�

    Sorry, the same Message as above, now correctly formatted:
    I need some help concerning a new feature in Struts 1.2.7.
    The ActionMessage class now has a new Constructor
    ActionMessage(java.lang.String key, boolean resource)Setting the "resource" value to "false" allows you to define a "literal"
    Message without having to specify a key in the properties bundle.
    In my Action Class, I create two or more ActionMessages:
    ActionErrors errors = new ActionErrors();
    ActionMessage error1 = new ActionMessage("Literal Error 1", false);
    errors.add(ActionMessages.GLOBAL_MESSAGE, error1);
    ActionMessage error2 = new ActionMessage("Literal Error 2", false);
    errors.add(ActionMessages.GLOBAL_MESSAGE, error2);
    saveErrors(request, errors);In my JSP, I iterate over the ActionMessages in the follwing way:
    <table>
              <html:messages id="errors">
                   <tr>
                        <td>
                             <bean:write name="errors"/>
                        </td>
                   </tr>
              </html:messages>
    </table>The poblem now is that in the HTML-Output, only the first Item in the Error
    list appears as a literal message, whereas Struts seems to interpret the next message as a resource key:
    - Literal Error 1
    - ???de.Literal Error 2???
    What could be the problem? Any help is appreciated!
    Thanks, Ren�

  • ActionMessage in struts

    hi
    ActionError was deprecated in struts 1.2.so instead of "ActionError" we are using " ActionMessage". my doubts are
    1.What actually "ActionMesages" class will do .is it's functioning is similar to
    "ActionErrors" class. anyway "ActionErrors" was not deprecated.so what is
    the need of "ActionMessages" class.
    2.to display "ActionErrors" in our jsp we use <html:errors/>.can we use this for "ActionMessages" errors or we have to use "<html:messagesPresent>".
    please clear me usage and concepts of "ActionMessage" ,"ActionMessages".

    thnks for your reply .I tried an example by using both "ActionMessages" and "ActionMessage".but the problem is "eventhough there is an error it's not displaying that error.if i used "ActionErrors" iam able to see that error.I am mentioning hte code .plz tell me where the mistake is ..
    Jsp file:---------------------
    <%@ page language="java" contentType="text/html;charset=UTF-8"%>
    <%@ taglib uri="netui-tags-databinding.tld" prefix="netui-data"%>
    <%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
    <%@ taglib uri="netui-tags-template.tld" prefix="netui-template"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
    <!--
    <html:errors />
    -->
    <logic:messagesPresent>
    <html:messages id="msg" locale="fr">
    <b><bean:write name="msg" /></b><br><br><hr>
    </html:messages>
    </logic:messagesPresent>
    <html:form action="/myservice2">
    <bean:message key="app.user" />:::
    <html:text property="user"/>
    <br>
    <bean:message key="app.name" />:::
    <html:text property="name"/>
    <html:submit value="submit"/>
    </html:form>
    Action class--------------------
    package com.action;
    import com.form.Lookform;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.Globals;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    public class actionmess extends Action
    public ActionForward execute(ActionMapping mapping,ActionForm form,
    HttpServletRequest req,HttpServletResponse res)
    {String target;
    Lookform f=(Lookform) form;
    String user=f.getUser();
    if(user.endsWith("88"))
    target="failure";
    ActionMessages errors=new ActionMessages();
    errors.add("myerror",new ActionMessage("myerror.errors"));
    saveMessages(req,errors);
    else
    target="success";
    return mapping.findForward(target);
    validate() method in Action form returns only ActionErrors.that's why i mention "ActionMessages" in "execute()" method of Action class.
    I tried both <html:errors/> ,<html:messages> but i am unable to see errors.

  • ClassNotFoundException while invoking jax-ws client from OIM 10g

    Hi,
    As part of integrating FoxT with OIM, I've generated stub classes from FoxT wsdl using wsimport of jax-ws RI. While trying to invoke any webservice method from the process task I am getting below error -
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpFOXTCREATEUSER.FOXTCREATEUSER(adpFOXTCREATEUSER.java:161)
            at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpFOXTCREATEUSER.implementation(adpFOXTCREATEUSER.java:106)
            at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
            at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
            at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
            at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.ejb.beans.tcProvisioningOperationsSession.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.ejb.beans.tcProvisioningOperations_b03yxm_EOImpl.addProcessTaskInstance(tcProvisioningOperations_b03yxm_EOImpl.java:1518)
            at Thor.API.Operations.tcProvisioningOperationsClient.addProcessTaskInstance(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(Unknown Source)
            at weblogic.security.Security.runAs(Security.java:41)
            at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
            at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
            at $Proxy61.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.webclient.actions.ResourceProfileProvisioningTasksAction.addTask(Unknown Source)
            at com.thortech.xl.webclient.actions.ResourceProfileProvisioningTasksAction.dispatchConfirmation(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
            at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
            at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
            at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at com.thortech.xl.webclient.security.CSRFFilter.doFilter(Unknown Source)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(Unknown Source)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(Unknown Source)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(Unknown Source)
            at weblogic.servlet.internal.WebAppServletContext.execute(Unknown Source)
            at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.NoClassDefFoundError: Lcom/foxt/mds/ws/generated/AddUserxRolePars;
            at java.lang.Class.getDeclaredFields0(Native Method)
            at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
            at java.lang.Class.getDeclaredFields(Class.java:1743)
            at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:249)
            at com.sun.xml.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:58)
            at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.findFieldProperties(ClassInfoImpl.java:362)
            at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.getProperties(ClassInfoImpl.java:296)
            at com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl.getProperties(RuntimeClassInfoImpl.java:176)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:243)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:209)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93)
            at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:315)
            at com.sun.xml.bind.v2.model.impl.RegistryInfoImpl.<init>(RegistryInfoImpl.java:99)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.addRegistry(ModelBuilder.java:357)
            at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:327)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)
            at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)
            at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)
            at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105)
            at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:153)
            at com.sun.xml.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:148)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sun.xml.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:148)
            at com.sun.xml.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:87)
            at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:264)
            at com.sun.xml.ws.client.WSServiceDelegate.buildRuntimeModel(WSServiceDelegate.java:660)
            at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegate.buildRuntimeModel(WLSProvider.java:407)
            at com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:648)
            at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330)
            at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegate.getPort(WLSProvider.java:389)
            at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)
            at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:306)
            at javax.xml.ws.Service.getPort(Service.java:92)
            at com.foxt.mds.ws.generated.MDSImplService.getMDSImplPort(MDSImplService.java:68)
            at com.centurylink.identity.adapter.processtask.FoxTUserOperations.CreateUser(FoxTUserOperations.java:351)
            ... 60 more
    Caused by: java.lang.ClassNotFoundException: com.foxt.mds.ws.generated.AddUserxRolePars
            at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
            at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
            at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
            ... 98 more
    com.thortech.xl.dataobj.util.tcAdapterTaskException: Lcom/foxt/mds/ws/generated/AddUserxRolePars;
            at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpFOXTCREATEUSER.FOXTCREATEUSER(adpFOXTCREATEUSER.java:167)
            at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpFOXTCREATEUSER.implementation(adpFOXTCREATEUSER.java:106)
            at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
            at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
            at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
            at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
            at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.ejb.beans.tcProvisioningOperationsSession.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.ejb.beans.tcProvisioningOperations_b03yxm_EOImpl.addProcessTaskInstance(tcProvisioningOperations_b03yxm_EOImpl.java:1518)
            at Thor.API.Operations.tcProvisioningOperationsClient.addProcessTaskInstance(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(Unknown Source)
            at weblogic.security.Security.runAs(Security.java:41)
            at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
            at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
            at $Proxy61.addProcessTaskInstance(Unknown Source)
            at com.thortech.xl.webclient.actions.ResourceProfileProvisioningTasksAction.addTask(Unknown Source)
            at com.thortech.xl.webclient.actions.ResourceProfileProvisioningTasksAction.dispatchConfirmation(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
            at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
            at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
            at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at com.thortech.xl.webclient.security.CSRFFilter.doFilter(Unknown Source)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(Unknown Source)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(Unknown Source)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(Unknown Source)
            at weblogic.servlet.internal.WebAppServletContext.execute(Unknown Source)
            at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    The class file its complaining about AddUserxRolePars exists in FoxTWS.jar (generated from wsimport) in ThirdParty, ext and JavaTasks directory on the server and still it complains for the same.
    I tried running the same class from the command prompt on the same server and it's working fine. Thinking this could be classpath issue, I tried updating the classpath (System.setProperty("java.class.path","<jar file path>+<existing classpath>")) from with in the adapter class file and it still does not help.
    Any thoughts on how to resolve this ??
    Thanks in Advance.

    You can use below policy for 2-way SSL
    Wssp1.2-Https-ClientCertReq.xml
    Two way SSL. The recipient checks for the initiator's public certificate. Note that the client certificate can be used for authentication.
    http://docs.oracle.com/cd/E14571_01/web.1111/e13713/message.htm#i243732
    Please follow below link to invoke standalone client using SSLSocketFactory for 2-way SSL
    http://docs.oracle.com/cd/E14571_01/web.1111/e13713/transport.htm#CIHICEHH
    HTH
    Regards,
    Sunil

  • Console error while deploying a struts application..

    I am getting following exception while deploying a struts application:-
    javax.servlet.ServletException: org/apache/commons/logging/LogFactory
         at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:884)
         at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3252)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3197)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3174)
         at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5647)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869)
         at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022)
         at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063)
         at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2399)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2479)
         at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
         at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    please help me out.

    The ServletException is just a wrapper exception which informs about an underlying failure. When interpreting stacktraces,the bottommost root cause parts is the most important part. I assume that it's just a java.lang.ClassNotFoundException on org/apache/commons/logging/LogFactory. In that case, the exception is self-explaining enough. The mentioned class is missing in the classpath. The solution is also obvious: add the mentioned class (or at least, the JAR file with the mentioned class) to the classpath and you're fine. As the package name already hints, you can download it at [http://commons.apache.org/logging].
    For future java.lang.* exceptions please consult 'New to Java' forum. This is unrelated to Java Servlet.

  • Error while configure struts Datasource

    I want to configure data source,I use Tomcat5.5.15 and struts-1.2.9,my database is Microsoft Access2000,my configure is follows:
    <struts-config>
    <data-sources>
    <data-source type="org.apache.commons.dbcp.BasicDataSource">
    <set-property
    property="driverClassName"
    value=" sun.jdbc.odbc.JdbcOdbcDriver" />
    <set-property
    property="url"
    value="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\db1.mdb" />
    <set-property
    property="username"
    value="administrator" />
    <set-property
    property="password"
    value="123" />
    <set-property
    property="maxActive"
    value="10" />
    <set-property
    property="maxWait"
    value="5000" />
    <set-property
    property="defaultAutoCommit"
    value="false" />
    <set-property
    property="defaultReadOnly"
    value="false" />
    </data-source>
    </data-sources>
    <struts-config>
    When I start Tomcat,it raise following error:
    New org.apache.commons.dbcp.BasicDataSource
    Begin event threw exception
    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
    at org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1352)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0 (Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.struts.digester.ObjectCreateRule.begin(ObjectCreateRule.java:152)
    at org.apache.struts.digester.Digester.startElement (Digester.java:528)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch (Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse (Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.apache.struts.digester.Digester.parse(Digester.java:755)
    at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
    at javax.servlet.GenericServlet.init(GenericServlet.java :211)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
    at org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:3915)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)
    at org.apache.catalina.startup.HostConfig.deployApps (HostConfig.java:474)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start (StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java :275)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    2006-4-2 8:40:02 org.apache.coyote.http11.Http11BaseProtocol start
    Why raise above error? How to correct it?
    Thanks!

    Sounds like you are missing a jar file.
    org.apache.commons.dbcp.BasicDataSource is in the file commons-dbcp.jar
    You can download it from jakarta: http://jakarta.apache.org/commons/dbcp/
    However, the struts data-source config is semi-deprecated.
    It is currently provided for backwards compatibility, but may be removed in future versions.
    http://struts.apache.org/struts-doc-1.2.x/faqs/database.html
    The recommendation is to instead use JNDI Datasources, set up by the application server.
    Setting up a JNDI datasource in Tomcat: http://tomcat.apache.org/tomcat-5.0-doc/jndi-datasource-examples-howto.html

  • Unable to retrive the uploaded file in Struts

    hi i am getting error while retrieving the uploaded file in struts. The code is
    struts-config.xml
    ===========
    <form-bean name="GreivanceForm" type="org.apache.struts.validator.DynaValidatorActionForm" >
                   <form-property name="compcode" type="java.lang.String" />
                   <form-property name="complaintName" type="java.lang.String" />
                   <form-property name="category" type="java.lang.String" />
                   <form-property name="subcategory" type="java.lang.String" />
                   <form-property name="priority" type="java.lang.String" />
                   <form-property name="occdate" type="java.lang.String" />
                   <form-property name="occtime" type="java.lang.String" />
                   <form-property name="desc" type="java.lang.String" />
                   <form-property name="comments" type="java.lang.String" />
                   <form-property name="onbehalf" type="java.lang.String"/>
                   <form-property name="employeeId" type="java.lang.String"/>
                   <form-property name="hidSelectedNames" type="java.lang.String"/>
                   <form-property name="individual" type="java.lang.String"/>
                   <form-property name="compOption" type="java.lang.String" />
                   <form-property name="selectedrequestor" type="java.lang.String" />
                   <form-property name="file" type="java.lang.String"/>
              </form-bean>
    <action path="/helpdesk/GrievanceComplaint"
                   type="com.srit.hrnet.helpdesk.grievancemechanism.GrievanceComplaintAction"
                   scope="request" name="GreivanceForm"
                   input=""
                   validate="true"
                   parameter="compOption" >
                   <forward name="success" path="/helpdesk/GrievanceRedressalMechanism/ComplaintDetails.jsp"/>
                   <forward name="showmeetingform" path="/helpdesk/complaint/MeetingDetailsForm.jsp"/>
                   <forward name="transconfirm" path="/helpdesk/GrievanceRedressalMechanism/TransConfirm.jsp"/>
                   <forward name="ViewCompForm" path="/helpdesk/GrievanceRedressalMechanism/ViewCompForm.jsp"/>
              </action>
    and
    Actionclass:
    ========
    * Created on Nov 5, 2004
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    package com.srit.hrnet.helpdesk.grievancemechanism;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.List;
    import java.util.StringTokenizer;
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.action.DynaActionForm;
    import org.apache.struts.actions.DispatchAction;
    import org.apache.struts.upload.FormFile;
    import org.apache.struts.validator.DynaValidatorActionForm;
    import org.apache.struts.validator.DynaValidatorForm;
    import com.srit.hrnet.components.SequenceCodeGenerator;
    import com.srit.hrnet.emp.EmployeeGenTO;
    import com.srit.hrnet.emp.courier.CourierMailDAO;
    import com.srit.hrnet.emp.courier.CourierMailTO;
    import com.srit.hrnet.emp.parameter.ParamMasterTO;
    import com.srit.hrnet.helpdesk.SessionValidate;
    import com.srit.hrnet.helpdesk.category.CategoryDAO;
    import com.srit.hrnet.helpdesk.category.CategoryTO;
    import com.srit.hrnet.helpdesk.mails.HDMail;
    import com.srit.hrnet.utilities.DateUtilities;
    import com.srit.hrnet.helpdesk.complaint.TaskDAO;
    import com.srit.hrnet.helpdesk.SessionValidate;
    import com.srit.hrnet.helpdesk.grievancemechanism.GrievanceComplaintForm;
    public class GrievanceComplaintAction extends DispatchAction{
         public ActionForward submitForm(ActionMapping mapping,
                   ActionForm form, HttpServletRequest request,
                   HttpServletResponse response)throws ServletException,IOException {  
                   String msg=null;
                   DynaValidatorActionForm objDyna = (DynaValidatorActionForm)form;
                   GrievanceComplaintDAO gcDao= new GrievanceComplaintDAO();
              ActionForward forward = new ActionForward();
    //          GrievanceComplaintForm gcForm=(GrievanceComplaintForm)form;
                        String CompId = null;
              try
                             SequenceCodeGenerator seq=new SequenceCodeGenerator("GrievanceMechanism");
                             CompId=seq.generateCode();
                   GrievanceComplaintTO gcTO=new GrievanceComplaintTO();
                   System.out.println("Inside GrievanceComplaintAction ......");
                   String CompName=request.getParameter("complaintName");
                   String Category=request.getParameter("category");
                   String prority=request.getParameter("priority");
                   String dateofocc=request.getParameter("occdate");
                   String timeofocc=request.getParameter("occtime");
                   String desc=request.getParameter("desc");
                   String comments=request.getParameter("comments");
    //          String file=request.getParameter("file");
    //          String complaintcode = .generateCode();
                   System.out.println("Inside insert()::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
                   System.out.println("Name Of the Complaint name>>>>>>>>>>>>>>"+CompName);
                   System.out.println("Name Of the Categoryt>>>>>>>>>>>>>>"+Category);
                   System.out.println("Name Of the prority>>>>>>>>>>>>>>"+prority);
                   System.out.println("Name Of the dateofocc>>>>>>>>>>>>>>"+dateofocc);
                   System.out.println("Name Of the timeofocc>>>>>>>>>>>>>>"+timeofocc);
                   System.out.println("Name Of the desc>>>>>>>>>>>>>>"+desc);
                   System.out.println("Name Of the comments>>>>>>>>>>>>>>"+comments);
    //          System.out.println("Name Of the file>>>>>>>>>>>>>>"+file);
                   GregorianCalendar occdate=DateUtilities.getGCDateForString(objDyna.getString("occdate"),((com.srit.hrnet.emp.EmployeeGenTO)request.getSession().getAttribute("LoginUser")).getDateFormat(),'/');
                   gcTO.setComplaintCode(CompId);
                   gcTO.setComplaintName(CompName);
                   gcTO.setCategory(Category);
                   gcTO.setPriority(prority);
                   gcTO.setOccdate(occdate);
                   System.out.println("After Setting date in GTO is>>>>>>>>>>>>>>"+gcTO.getOccdate());
                   gcTO.setOcctime(timeofocc);
                   gcTO.setDesc(desc);
                   gcTO.setComments(comments);
                        HDMail mailComp = new HDMail();
                   String errorFlag = null;
                   String filePath = ""+objDyna.get("file");// Attachment path
                   StringTokenizer st=new StringTokenizer(filePath,".");
                   String extension=null;
    //               String filename=null;
                   String attachmentPath = null;
                   while(st.hasMoreTokens())
                        extension=st.nextToken();
    //          while(st1.hasMoreTokens()){
    //               filename=st1.nextToken();
                   System.out.println("Attachment path : "+attachmentPath);
              System.out.println("Extension is.........."+extension);
    //          System.out.println("Name of the file is.............."+filename);
              if(filePath != null && filePath.indexOf(".") != -1 && filePath.length()>=5 ){// If attachment exists
    //               attachmentPath = filePath.substring(filePath.indexOf(".")+1,filePath.length());// file extension
    ////               System.out.println("Attachment path : "+attachmentPath);
                   if(!extension.equalsIgnoreCase("txt") && !extension.equalsIgnoreCase("htm")
                             &&!extension.equalsIgnoreCase("doc") &&!extension.equalsIgnoreCase("rtf")
                                       &&!extension.equalsIgnoreCase("msg") &&!extension.equalsIgnoreCase("oft")
                                       && !extension.equalsIgnoreCase("xls")){
                        errorFlag = "1"; // if the file is not a valid type (not in the above mentioned extensions)
              gcTO.setAttachmentName(filePath);
              if(errorFlag.equals("1")){
    //          String attachmentName = null;
    ////          String attachmentPath = request.getParameter("agendaAttachment");
    //          DynaValidatorForm dyna=(DynaValidatorForm)form;
    //                         FormFile file= (FormFile)objDyna.get("file");
    //                         //dyna.get("file");      
    //          System.out.println("Name of the file after casting....."+file.getFileName());
    //                         if(file!=null && file.getFileName()!=null && !file.getFileName().trim().equals("")){
    //                              String fileName = null;                         
    //                              fileName = file.getFileName();
    //                              attachmentName = fileName;
    //                              if(validFile(fileName))
    //                              writeFile(file,request,fileName);
    //                              else
    //                                   ActionMessages errors=new ActionMessages();
    //                                   errors.add("Err:MsgDesc",new ActionMessage("com.srit.hrnet.helpdesk.complaint.form.fileupload"));                              
    //                                   saveErrors(request,errors);                         
    ////                                   ActionForward map1 = submitSubCategory(mapping,form,request,response);                              
    //                                   resetToken(request);     
    //                                   saveToken(request);
    //                                   return mapping.findForward("ViewCompForm");                              
    //                    int recordexists = gcDao.getComplaint(CompId);
    //                    if(recordexists == 1){
    //                         System.out.println("Calling the update method");
    //                         gcDao.updateComplaintDetails(gcTO);     
    //                    }else{
                        boolean retVal=gcDao.insert(gcTO);
              if (retVal){
                   System.out.println("Record Inserted inside Action.");
                   msg = "<font color='blue'>Record Inserted Successfully .</font>";
                             request.setAttribute("status", msg);
              else{
                   System.out.println("Unable to insert Record inside Action.");
                   msg = "<font color='red'>Unable to insert Record .</font>";
                             request.setAttribute("status", msg);
              else
                   System.out.println("Upload a file of extension(.jpg,.gif,.doc,.htm,.xls,.rtf,oft,msg) inside Action.");
                   msg = "<font color='red'>Upload a file of extension(.jpg,.gif,.doc,.htm,.xls,.rtf,.oft,.msg) </font>";
                             request.setAttribute("status", msg);
              catch (Exception e) {
                   // TODO: handle exception
                   System.out.println("Exception Occurred inside insert action....."+e.getMessage());
                   e.printStackTrace();
    //          else
    //               String insStatus="10";
    //               System.out.println("Accept:Redirecting due to resubmission");
    //               request.setAttribute("transStatus",insStatus);
    //               forward =mapping.findForward("transconfirm");
                   return mapping.findForward("success");
         public boolean validFile(String fileName){
              if(!fileName.equals("")){     
                        int filelength=fileName.length();
                        int sublength= fileName.indexOf('.');
                        String extension = fileName.substring(sublength+1,filelength);
                        if(extension.trim().equalsIgnoreCase("msg") || extension.trim().equalsIgnoreCase("txt") || extension.trim().equalsIgnoreCase("xls") || extension.trim().equalsIgnoreCase("ppt") || extension.trim().equalsIgnoreCase("jpg") || extension.trim().equalsIgnoreCase("gif")|| extension.trim().equalsIgnoreCase("doc" )|| extension.trim().equalsIgnoreCase("pdf") || extension.trim().equalsIgnoreCase("wmv") || extension.trim().equalsIgnoreCase("zip") || extension.trim().equalsIgnoreCase("jpeg") || extension.trim().equalsIgnoreCase("xml") || extension.trim().equalsIgnoreCase("html") ||extension.trim().equalsIgnoreCase("bmp") ||extension.trim().equalsIgnoreCase("htm") ||extension.trim().equalsIgnoreCase("ppt")||extension.trim().equalsIgnoreCase("oft")||extension.trim().equalsIgnoreCase("csv")){
                        return true;
                        }else{
                        return false;
                   return true;
         public int writeFile(FormFile file,HttpServletRequest request,String fileName){
                   int retValue = 0;
                   String size = (file.getFileSize() + " bytes");
                   if(file.getFileSize()>0){
                        //System.out.println("The size of the file is :" + file.getFileSize() + " bytes");
                        String data = null;
                        try {
                             //retrieve the file data
                             String fileTodelete = request.getRealPath("/helpdesk/meetingsagenda/"+fileName);
                             boolean success = (new File(fileTodelete)).delete();
                             //System.out.println("sucess......"+success);          
                             ByteArrayOutputStream baos = new ByteArrayOutputStream();
                             InputStream stream = file.getInputStream();
                             //write the file to the file specified
                             System.out.println("sfsdfkjdsfds "+request.getRealPath("/helpdesk/meetingsagenda/"+fileName));
                             OutputStream bos = new FileOutputStream(request.getRealPath("/helpdesk/meetingsagenda/"+fileName));
                             int bytesRead = 0;
                             byte[] buffer = new byte[8192];
                                  while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
                                       bos.write(buffer, 0, bytesRead);
                             bos.close();
                             data =      "The file has been written to \""+ "/helpdesk/meetingsagenda/"+ "\"";
                             System.out.println("data........."+data);
                                  //close the stream
                             stream.close();
                        }catch(FileNotFoundException fnfe) {
                                  System.out.println("com.srit.hrnet.homepage.fromceo.FromCEOAction.writeFile.Exception :"+ fnfe.toString());
                                  fnfe.printStackTrace();
                                  //retValue = FORMFILE_FILE_NA;
                        }catch(IOException ioe) {
                                  System.out.println("com.srit.hrnet.homepage.fromceo.FromCEOAction.writeFile.Exception :"+ ioe.toString());
                                  ioe.printStackTrace();
                                  //retValue = FORMFILE_ERR_UPD;
                   }//end of try catch:~
                   }else{
                        //The file was a not available
                        //retValue = FORMFILE_SIZE_ZERO;
                   }//end of if else:~
              //     System.out.println("retValue........."+retValue);
                   return retValue;                         
    }//end of ComplaintAction
    and GrievanceFormTO:(Dummy form bean)
    ==========
    * Created on Nov 4, 2004
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    package com.srit.hrnet.helpdesk.grievancemechanism;
    import java.util.GregorianCalendar;
    import org.apache.struts.upload.FormFile;
    public class GrievanceComplaintTO implements java.io.Serializable {
    private String complaintCode;
    private String compcode; //complaind Id
    private String complaintName;
    private String category;
    private String priority;
    //private GregorianCalendar date;
    private FormFile theFile;
    private String compOption;
    private String desc;
    private String comments;
    private String status;
    private String serviceperson;     //employee who is going to serve the complaint.Applicatble only in case of manual flow.
    private String loggedEmpId; //the employee who has logged the complaint
    private String applyEmpId; //employee to whom the cmplaint belongs to or owner of the complaint
    private String associateComm;
    private String associateRating;
    private GregorianCalendar occdate;
    private String occtime;
    private String attachmentName;
         public String getApplyEmpId() {
              return applyEmpId;
         public void setApplyEmpId(String applyEmpId) {
              this.applyEmpId = applyEmpId;
         public String getAssociateComm() {
              return associateComm;
         public void setAssociateComm(String associateComm) {
              this.associateComm = associateComm;
         public String getAssociateRating() {
              return associateRating;
         public void setAssociateRating(String associateRating) {
              this.associateRating = associateRating;
         public String getCategory() {
              return category;
         public void setCategory(String category) {
              this.category = category;
         public String getComments() {
              return comments;
         public void setComments(String comments) {
              this.comments = comments;
         public String getCompcode() {
              return compcode;
         public void setCompcode(String compcode) {
              this.compcode = compcode;
         public String getComplaintName() {
              return complaintName;
         public void setComplaintName(String complaintName) {
              this.complaintName = complaintName;
         public String getCompOption() {
              return compOption;
         public void setCompOption(String compOption) {
              this.compOption = compOption;
         public String getDesc() {
              return desc;
         public void setDesc(String desc) {
              this.desc = desc;
         public String getLoggedEmpId() {
              return loggedEmpId;
         public void setLoggedEmpId(String loggedEmpId) {
              this.loggedEmpId = loggedEmpId;
         public String getOcctime() {
              return occtime;
         public void setOcctime(String occtime) {
              this.occtime = occtime;
         public String getPriority() {
              return priority;
         public void setPriority(String priority) {
              this.priority = priority;
         public String getServiceperson() {
              return serviceperson;
         public void setServiceperson(String serviceperson) {
              this.serviceperson = serviceperson;
         public String getStatus() {
              return status;
         public void setStatus(String status) {
              this.status = status;
         public String getComplaintCode() {
              return complaintCode;
         public void setComplaintCode(String complaintCode) {
              this.complaintCode = complaintCode;
         public void setOccdate(GregorianCalendar occdate) {
              this.occdate = occdate;
         public GregorianCalendar getOccdate() {
              return occdate;
         public String getAttachmentName() {
              return attachmentName;
         public void setAttachmentName(String attachmentName) {
              this.attachmentName = attachmentName;
         public FormFile getTheFile() {
              return theFile;
         public void setTheFile(FormFile theFile) {
              this.theFile = theFile;
    but i am getting error
    javax.servlet.ServletException: BeanUtils.populate
         org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
         org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         com.srit.hrnet.filter.SessionValidateFilter.doFilter(SessionValidateFilter.java:81)
    root cause
    org.apache.commons.beanutils.ConversionException: Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile' to property 'file' of type 'java.lang.String'
         org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:424)
         org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1733)
         org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
         org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
         org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
         org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
         org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
         org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
         org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
         org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
         org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
         org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         com.srit.hrnet.filter.SessionValidateFilter.doFilter(SessionValidateFilter.java:81)
    and my jsp is:
    =========
    <%@ page language="java" %>
    <%@ taglib uri="struts-bean" prefix="bean" %>
    <%@ taglib uri="struts-html" prefix="html" %>
    <%@ taglib uri="struts-logic" prefix="logic" %>
    <%@ taglib uri="TabGenerator" prefix="GenerateTab" %>
    <%@ page import="com.srit.hrnet.utilities.DateUtilities"%>
    <%@ page import="com.srit.hrnet.components.BasicDAOConstants" %>
    <%@ taglib uri="AccessLogin" prefix="GeneralAccess" %>
    <%@ taglib uri="iterateTag" prefix="iterateTag" %>
    <%@ page import="com.srit.hrnet.components.BasicDAOConstants,com.srit.hrnet.emp.EmployeeGenTO,com.srit.hrnet.helpdesk.grievancemechanism.*"%>
    <%@ page import="com.srit.hrnet.tags.*"%>
    <html:html locale="true">
    <HEAD>
         <TITLE>
                   <bean:message key="com.srit.hrnet.helpdesk.complaint.form.title"/>
         </TITLE>
         <META NAME="Generator" CONTENT="EditPlus">
         <META NAME="Author" CONTENT="">
         <META NAME="Keywords" CONTENT="">
         <META NAME="Description" CONTENT="">
    <link rel="stylesheet" type="text/css" href="<%= (session.getAttribute("LoginUser") != null ?
                             ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getEmpPageStyleSheet() :
                             com.srit.hrnet.components.access.AccessCodes.GLOBAL_STYLESHEET)%>">
    <script language="javaScript" src="<%= request.getContextPath()%>/jscript/GlobalValidationScript.js" purpose="include"></script>
    <%      
    int dateFormat = (session.getAttribute("LoginUser") != null ? ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getDateFormat() : 2);
         System.out.println("/reports/training/TRngBaseReport dateFormat = "+dateFormat);
         /* *** get the current date *** */
         java.util.GregorianCalendar gc1 = new java.util.GregorianCalendar();
         int yy = gc1.get(java.util.Calendar.YEAR);
         int mm = gc1.get(java.util.Calendar.MONTH);
         int dd = gc1.get(java.util.Calendar.DATE);     
         mm = mm + 1;
         String mon;
         String day;
         if(dd <= 9)
              day = "0" + java.lang.String.valueOf(dd);
         else
              day = java.lang.String.valueOf(dd);
         if(mm <= 9)
              mon = "0" + java.lang.String.valueOf(mm);
         else
              mon = java.lang.String.valueOf(mm);
         java.lang.String currentDate = "";
         if(dateFormat == 3){
              currentDate = java.lang.String.valueOf(yy+"/"+mon+"/"+day);/* (yyy-mm-dd format) */
         }else if(dateFormat == 1){
              currentDate = java.lang.String.valueOf(mon+"/"+day+"/"+yy);/* (mm-dd-yyy format) */
         }else if(dateFormat == 2){
              currentDate = java.lang.String.valueOf(day+"/"+mon+"/"+yy);/* (dd-mm-yyy format) */
         System.out.println("/reports/training/TRngBaseReport currentDate = "+currentDate);
    %>
    <script language="javaScript" src="<%= (session.getAttribute("LoginUser")!=null ? ((com.srit.hrnet.emp.EmployeeGenTO)session.getAttribute("LoginUser")).getScriptFile() : "")%>" purpose="include"></script>
    <script language="javaScript" src="jscript/CommonDialog.js" purpose="include"></script>
    <script language="javaScript" src="jscript/GlobalValidationScript.js"></script>
    <script language="javascript">
         var gNow = new Date("<%=currentDate%>");
         function val_complaint()
    if(document.GreivanceForm.complaintName.value.length==0)
         alert("Enter Complaint Name");
         document.GreivanceForm.complaintName.focus();
         return false;
    if(document.GreivanceForm.category.value =='NA')
         alert("select category");
         document.GreivanceForm.category.focus();
         return false;
    if(document.GreivanceForm.priority.value == 'NA')
         alert("select priority");
         document.GreivanceForm.priority.focus();
         return false;
         if(document.GreivanceForm.occdate.value == "")
              alert("Enter Date (dd/mm/yy)");
              document.GreivanceForm.occdate.focus();
              return false;
         else     
         if(document.GreivanceForm.occdate.value>document.GreivanceForm.currentDate.value){
                   alert("select Previous or Current date");
                   document.GreivanceForm.occdate.focus();
                   return false;
         if(document.GreivanceForm.occtime.value == "")
         alert("Select Time of Occurence.");
         document.GreivanceForm.occtime.focus();
         return false;
    else
    if(!IsValidTime(document.GreivanceForm.occtime.value) )
    alert("Enter Valid Time (HH:MM)");
              return false;
         if(document.GreivanceForm.desc.value == "")
         alert("Enter Description");
         document.GreivanceForm.desc.focus();
         return false;
              document.forms[0].compOption.value='submitForm';
              document.forms[0].submit();
              return false;
         function IsValidTime(givenTime)
              var hour = 0;
              var minute = 0;
              var timePat = /^(\d{1,2}):(\d{1,2})?$/;
              var matchArray = givenTime.match(timePat);
              if (matchArray == null)
                   alert("Enter Valid Time.");
                   return false;
              hour = matchArray[1];
              minute = matchArray[2];
              if(hour==0 && minute==0)
              alert("The Time You Entered is 0:0");
              return false;
              if (hour < 0 || hour > 23)
              alert("Hour must be between 0 and 23");
              return false;
              if (minute<0 || minute > 59)
              alert ("Minute must be between 0 and 59.");
              return false;
              return true;
    unction help(url)
         var attributes = 'menubar=no,toolbar=no,location=no,width=625,height=375,resizable=yes';
         var name = 'Help';
         window.open(url,name,attributes);
    //return false;
    </script>
    <script language = "javaScript" src = "<%=request.getContextPath()%>/jscript/CommonDialog.js" purpose = "include"></script>
    </HEAD>
    <body bgcolor="#FFFFFF" onload="setFocus()">
    <GenerateTab:displaytabs tabId="<%=com.srit.hrnet.masters.gui.GUIConstants.HD_GRIEVANCE_REDRESSAL_FORM%>" activeSubTab="0" >
    <table align="right">
              <tr>
                   <td>
                        <img src="<%=request.getContextPath()%>/images/help.gif" border="0" alt="Help">
                   </td>     
              </tr>     
         </table>
         <html:form action="/helpdesk/GrievanceComplaint" enctype="multipart/form-data" method="POST" onsubmit="javascript:return val_complaint()">
         <html:hidden property="compOption" value="submitForm" />
         <html:hidden property="onbehalf"/>
         <html:hidden property="employeeId"/>
         <html:hidden property="hidSelectedNames"/>
         <html:hidden property="selectedrequestor"/>
         <html:hidden property="individual"/>
         <table cellpadding="3" cellspacing="0" align="center" >
              <th align="center" class="tablehead" colspan="2">
              <b> Complaint Form </b>
              </th>
    <tr>
                   <td colspan="1" class='tablesubhead'>
                   <b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.complaintname"/></b><font class="star"> *</font>
                   </td>
                   <td class='subhead'>
                   <html:text property="complaintName" maxlength="99"/>
                   </td>
              </tr>
         <tr>
                   <td class='tablesubhead' colspan="1"><b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.category"/></b>
                   <font class="star">*</font></td>
                        <td class="tableright" property="category" >
                        <iterateTag:iterate propertyName='<%=IterateInterface.ITERATE_HELPDESK_GRIEVANCE_CATEGORY%>' defaultSelected='<%=request.getAttribute("category")==null?null:""+request.getAttribute("category")%>' selectSize='<%=100%>' tabInd='<%="3"%>'>
                        </iterateTag:iterate>
                   </td>
              </tr>
              <tr>
                   <td class='tablesubhead' colspan="1"><b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.priority"/></b>
                   <font class="star">*</font></td>
                   <td class="subhead">
                        <iterateTag:iterate propertyName='<%=IterateInterface.ITERATE_HELPDESK_GRIEVANCE_PRIORITY%>' defaultSelected='<%=request.getAttribute("priority")==null?null:""+request.getAttribute("priority")%>' selectSize='<%=100%>' tabInd='<%="3"%>'>
                                  </iterateTag:iterate>
                   </td>
         </tr>
         <tr>
                             <td class='tablesubhead' colspan=1><b>Date of Occurence</b>
                             <font class="star">*</font> </td>
                             <td class="subhead">     
                             <html:text name="GreivanceForm" property="occdate" maxlength="10"/>
                             <input type="hidden" name="currDate" />
                             <img src="<%= request.getContextPath()%>/images/calendar.jpg" border="0" alt="Calendar" >
                             </td>                         
                   </tr>
                                  <tr>
                                       <td class='tablesubhead' colspan=1><b>Time of Occurence</b>
                                       <font class="star">*</font></td>
                                       <td class="subhead">     
                                       <html:text name="GreivanceForm" property="occtime" maxlength="10"/> (24 Hrs format)</td>
                             </tr>
                             <tr>
                        <td class="tablesubhead" colspan=1>
                             <b>Description</b>
                             <font class="star">*</font></td>
                                       <td class="subhead">
                                       <html:textarea property="desc" styleClass="formObject" cols="40" rows="4"></html:textarea>
                                       </td>
                        </tr>
                   <tr>
              <td class="tablesubhead" colspan=1>
                   <b>Comments/Suggestions</b>
              </td>
                             <td class="subhead">
                             <html:textarea property="comments" styleClass="formObject" value="" cols="40" rows="4"></html:textarea>
                             </td>
                   </tr>
                   <tr>
                   <td class="tableleft">
              <b><bean:message key="com.srit.hrnet.helpdesk.redressal.form.attachment"/> </b>
                                  </td>
                             <td class="tableright">
                                  <html:file property="file" size="18" />
                             </td>
              </tr>
                   <tr>
                   <td colspan="2" align="center" class="tablesubhead">
                   <input type="submit" class="submit" value="Submit" >
                    <html:reset property="reset" styleClass="submit" />
                   </td>
              </tr>
    </table>
         <input type="hidden" name="currentDate" value="<%=currentDate%>">
    </html:form>
    </GenerateTab:displaytabs>
    <html:javascript formName="/SubmitComplaint"/>
    </body>
    </html:html>
    please help me..

    VAS_MS wrote:
    please help me..First help yourself by posting a clear question
    You have far to much code posted and without the use of the correct code tags its almost unreadable.
    You have a question about uplaoding files with Struts then get rid of all the junk in your code thats not related to uploading files.
    If you have an error then post the relevant information on the error
    like
    org.apache.commons.beanutils.ConversionException:
    Cannot assign value of type 'org.apache.struts.upload.CommonsMultipartRequestHandler$CommonsFormFile' to property 'file' of type 'java.lang.String'
    org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:424)If you had posted only that you would have given enough information, that error says it all you are trying to put your file into a String and its not working.
    reread the tutorial/documentation provided and try again
    Edited by: pgeuens on 21-mrt-2008 8:04

  • Error in simple struts application

    Hi friends,
    Happy to meet again. Please help me out from this situation which kills me for the past 1 week. While i try to deploy my first struts application through eclipse 3.2 with jdk1.5 and tomcat 5.5.25 and struts 2.0.9 i'm getting this error. what is this regarding.
    FYI
    I'm just using two text boxes and trying to get those in next page....
    The error goes like this
    exception
    org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.html.MessagesTei
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:281)
         org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:423)
         org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:249)
         org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
         org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:424)
         org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493)
         org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
         org.apache.jasper.compiler.Parser.parse(Parser.java:127)
         org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
         org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    java.lang.ClassNotFoundException: org.apache.struts.taglib.html.MessagesTei
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
         org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:420)
         org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:249)
         org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
         org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:424)
         org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493)
         org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
         org.apache.jasper.compiler.Parser.parse(Parser.java:127)
         org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
         org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    See http://forum.java.sun.com/thread.jspa?messageID=3866745&tstart=0

  • Struts validation not working properly

    Hi,
    I'm using the struts validator to validate my form.. I've followed all the steps required.. I've checked it quite a few times :)
    Currently I want to verify if my form fields have any value, so am verifying the required property.. but when I submit an empty form, it doesn't show an error.. but the log shows the following;
    Any suggestions what could be missing?
    2005-08-11 16:20:08,804 [http-8080-Processor25] ERROR org.apache.struts.validator.ValidatorForm - org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
    org.apache.commons.validator.ValidatorException: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
         at org.apache.commons.validator.ValidatorAction.loadValidationMethod(ValidatorAction.java:627)
         at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:557)
         at org.apache.commons.validator.Field.validateForRule(Field.java:827)
         at org.apache.commons.validator.Field.validate(Field.java:906)
         at org.apache.commons.validator.Form.validate(Form.java:174)
         at org.apache.commons.validator.Validator.validate(Validator.java:367)
         at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:152)
         at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1480)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:524)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

    I had a similar problem upgrading from struts 1.1 to 1.2.7. The method signatures in FieldChecks changed to include a Validator object:
    1.1
    validateRequired(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ActionErrors errors, javax.servlet.http.HttpServletRequest request)
    1.2.7
    validateRequired(java.lang.Object bean, org.apache.commons.validator.ValidatorAction va, org.apache.commons.validator.Field field, ActionMessages errors, org.apache.commons.validator.Validator validator, javax.servlet.http.HttpServletRequest request)
    After I added org.apache.commons.validator.Validator to the methodParams attribute of validator in validator-rules.xml I no longer got the error (which was a NoSuchMethodException... I had to look at the ValidatorAction code to find that out, for some reason it wasn't in the stack trace).

  • Problem with struts-faces.jar

    hi,
    My requirement is to migrate a struts application to jsf.
    I am using the struts-faces.jar and doing all the configurations as mentioned.I am getting the following error while calling the application itself..
    java.lang.ClassNotFoundException: org.apache.struts.faces.taglib.LifecycleListener
    I am using the following version:
    1)Tried both struts-faces-0.4 and 0.3(downloaded from http://archive.apache.org/dist/struts/struts-faces/)
    2)Tomcat 5.0
    3)jsf-(SUN)
    4)struts 1.1
    Please let me know if i am doing something wrong. and any ways to fix this.
    Regards,
    Mythili

    Given the new release of the JSF ri and api .jar
    files,
    will this .jar provided at the apache site work?
    http://archive.apache.org/dist/jakarta/struts/old/relea
    e/struts-faces/
    No, those JARs only work with the EA versions of JavaServer Faces.
    A nightly build of the struts-faces integration library, that works with the beta release, is available at:
    http://cvs.apache.org/builds/jakarta-struts/nightly/struts-faces/
    and the corresponding source code is part of the Struts nightly build bundles in:
    http://cvs.apache.org/builds/jakarta-struts/nightly/src/
    in directory "contrib/struts-faces".
    This package is not yet ready to be released, but seems to work for me in all the cases where the old library worked before. (If you're migrating, note particularly some tweaks you need to add in the struts-config.xml file for the new version, documented in README.txt.) Work continues on the Tiles integration which feedback has indicated is really important to people.
    Developers who are building new components and renderers will be quite interested in the techniques used to make all the attributes of your own components value-binding-enalbled (like all the ones on the standard tags are). The source code for the <s:form> tag, plus the corresponding component and renderer, will be helpful in illustrating this.
    Craig McClanahan

  • Please hepl me. i m intergrating ejb3 and struts in two server. but is not working

    it is simple application i m runing in tow server but i m get classsnotfound error pleas solve my problem. i will give my direct structure of application
    i m runing ejb3 in weblogic 10.3 and struts in tomcat server. both communication is not happening pleas help me. i m try from many days. But is not working form me
    root dir
    onlyenb6
    account class
    package ejb3.onlyejb;
    import java.io.Serializable;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    @Entity
    public class account implements Serializable{
    @Id
    int accno;
      public int getAccno() {
        return accno;
    public void setAccno(int accno) {
        this.accno = accno;
    public String getName() {
        return name;
    public void setName(String name) {
        this.name = name;
    public float getBalance() {
        return balance;
    public void setBalance(float balance) {
        this.balance = balance;
    String name;
    float balance;
    Int6_clss code
    package ejb3.onlyejb;
    import java.io.Serializable;
    public interface Int6_cls extends Serializable {
        public void storing(int acc, String name, float amt);
    Session.class code
    package ejb3.onlyejb;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    @Stateless(mappedName="saigoud")
    @Remote
    public class Session_ben implements Int6_cls {
        @PersistenceContext
        EntityManager mrg;
        public void storing(int acc, String name, float amt) {
    System.out.println("session="+acc);
    System.out.println("sess="+name);
            account accs=new account();
            accs.setAccno(acc);
            accs.setName(name);
            accs.setBalance(amt);
            mrg.persist(accs);
    build.xml
    <project name="onlyejb5" default="saifile">
    <property name="bea.home" value="C:/bea"/>
    <property name="wl_home" value="${bea.home}/wlserver_10.3"/>
    <path id="main.class.path">
    <pathelement path="${bea.home}/modules/com.bea.core.utils_1.4.0.0.jar"/>
    <pathelement path="${bea.home}/modules/com.bea.core.jarbuilder_1.2.0.0.jar"/>
    <pathelement path="${java.class.path}"/>
    </path>
    <target name="saifile">
    <echo message="***ANT Script should run from inside the ${wl.home}/server/lib *****" />
    <echo message="***** ********* ********* *****" />
    <java classname="com.bea.jarbuilder.JarBuilder">
    <classpath refid="main.class.path"/>
    <jvmarg value="-d ${wl.home}/server/lib -jar wljarbuilder.jar"/>
    </java>
    </target>
    </project>
    after run with ant i get successfully create wlfullclient.jar
    i m taking this wlfullclient.jar and pasting in tomcat lib directery and run webapplication
    my webapplication code
    package ejb3.onlyejb;
    import java.io.Serializable;
    public interface Int6_cls extends Serializable {
        public void storing(int acc, String name, float amt);
    package ejb3.onlywed;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Hashtable;
    import java.util.Properties;
    import javax.ejb.EJB;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import ejb3.onlyejb.Int6_cls;
    public class Action_cls extends Action {
            public ActionForward execute(ActionMapping map, ActionForm fm, HttpServletRequest req, HttpServletResponse res)
        throws IOException{
            String respkey="fails";
            Action_form_bean bean=(Action_form_bean)fm;
            int ac=bean.getAccno();
            String na=bean.getName();
            float bal=bean.getAmt();
            System.out.println("accno="+ac);
    System.out.println("na="+na);
    System.out.println("bal="+bal);
    System.out.println("enter in to if loop");
               Hashtable p=new Hashtable();
    p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    p.put(Context.PROVIDER_URL,"t3://localhost:7001");
            System.out.println("jndi properties nuderprocess");
               try {
    System.out.println("loading p file="+p);
                InitialContext ic = new InitialContext(p);
    System.out.println("loading p file over="+ic);
            System.out.println("jndi file is  loaded");
          //System.out.println("wrs="+wrs);
    System.out.println("entry in try block");
    Int6_cls wrs=(Int6_cls)ic.lookup("saigoud#ejb3.onlyejb.Int6_cls");
           System.out.println("lookup susfull");
              wrs.storing(ac, na, bal);
        respkey="ok";
              } catch (NamingException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
            catch (Exception e) {
                // TODO: handle exception
            ActionForward fw=map.findForward(respkey);
            return fw;
    get error
    accno=44
    na=hjhjhj
    bal=777.0
    enter in to if loop
    jndi properties nuderprocess
    jndi properties nuderprocess22
    loading p file={java.naming.provider.url=t3://localhost:7001, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory}
    loading p file over=javax.naming.InitialContext@12f9bcd
    jndi file is  loaded
    entry in try block
    Jul 5, 2013 1:36:22 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet action threw exception
    java.lang.ClassNotFoundException: ejb3.onlyejb.Int6_cls
        at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.getClassBytes(RemoteBizIntfClassLoader.java:151)
        at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.loadClass(RemoteBizIntfClassLoader.java:96)
        at weblogic.ejb.container.internal.RemoteBusinessIntfGenerator.generateRemoteInterface(RemoteBusinessIntfGenerator.java:54)
        at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:205)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197)
        at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:564)
        at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193)
        at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
        at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
        at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:392)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at ejb3.onlywed.Action_cls.execute(Action_cls.java:62)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

    Locking multipost.

  • Struts class not found for war file

    Hello,
    I am tring to deploy my struts web application in weblogic 8.1. I have all the
    library files in web-inf\lib directory. It gave me the error that class not found
    for some class in struts library. The console also told me the classpath. But
    I can use javap to find the class using the same classpath. Could any one point
    me some direction what I am doing wrong here.
    Thanks.
    Here is the error message:
    java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter.>
    <Nov 13, 2003 11:05:29 AM EST> <Error> <HTTP> <BEA-101216> <Servlet: "action"
    fa
    iled to preload on startup in Web application: "voppocWebApp".
    javax.servlet.ServletException: [HTTP:101250][ServletContext(id=9921725,name=vop
    pocWebApp,context-path=/voppocWebApp)]: Servlet class org.apache.struts.action.A
    ctionServlet for servlet action could not be loaded because a class on which it
    depends was not found in the classpath C:\bea\weblogic81\server\bin\myserver\upl
    oad\voppocWebApp.war;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extrac
    t\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\activation30425.jar;C:
    \bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp
    _voppocWebApp\jarfiles\WEB-INF\lib\commons-beanutils30426.jar;C:\bea\weblogic81\
    server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\ja
    rfiles\WEB-INF\lib\commons-collections30427.jar;C:\bea\weblogic81\server\bin\.\m
    yserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF
    \lib\commons-digester30428.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdel
    ete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\commons-file
    upload30429.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\mys
    erver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\commons-lang30430.jar;C:\be
    a\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_vo
    ppocWebApp\jarfiles\WEB-INF\lib\commons-logging30431.jar;C:\bea\weblogic81\serve
    r\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfile
    s\WEB-INF\lib\commons-validator30432.jar;C:\bea\weblogic81\server\bin\.\myserver
    \.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\ja
    karta-oro30433.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\
    myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\jdbc2_0-stdext30434.jar;
    C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebA
    pp_voppocWebApp\jarfiles\WEB-INF\lib\mailapi30435.jar;C:\bea\weblogic81\server\b
    in\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\W
    EB-INF\lib\struts30436.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\
    extract\myserver_voppocWebApp_voppocWebApp\jarfiles\_wl_cls_gen.jar.
    java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter.
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:800)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppS
    ervletContext.java:3236)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebApp
    ServletContext.java:3181)

    Hello Mark,
    Your suggested solution (putting an empty commons-logging.properties into
    web-inf/classes or in a jar in web-inf/lib)
    does not make any change at all. It still complains about not being able to
    preload the servlet and still
    gives exceptions upong calling upon LogFactory.
    What I have been able to do is put the three classes from
    com.bea.wlw.netui.util.logging into a separate jar
    and add that to web-inf/lib.
    However I am sometimes getting funny exceptions upon undeploy
    (NoClassDefFoundError for org.apache.commons.collection.FastHashMap$KeySet).
    Regards,
    Robert Varga
    "Mark Griffith" <[email protected]> wrote in message
    news:[email protected]...
    From a FAQ on netui:
    1. Why do I get a ServletException while trying to deploy a struts web
    application on a Workshop/Integration/Portal domain?
    In the "<WL-HOME>/server/lib/knex.jar" file there is a properties file
    called "commons-logging.properties" which configures the
    com.bea.wlw.netui.util.logging.StrutsLogFactory class for Struts loggingas
    below:
    org.apache.commons.logging.LogFactory=com.bea.wlw.netui.util.logging.StrutsL
    ogFactory
    This class file is not available for a Struts web application that was not
    built using Workshop, the reason being the containing NetUI jar files are
    not present in the web application's WEB-INF/lib folder. This leads to a
    ServletException while deploying the web application. The solution is toadd
    a blank file (or a JAR containing the file) namedcommons-logging.properties
    to the server CLASSPATH, or to the WEB-INF/lib folder of the concerned web
    application. This issue will be fixed in Service Pack 2.
    cheers
    mbg
    "Robert Varga" <[email protected]> wrote in message
    news:[email protected]...
    Hi Rob,
    I also have a similar error with deploying a Struts web application into
    a
    8.1 Basic Workshop Domain created
    by 8.1 Platform.
    I get a ClassNotFoundException for 'com.wlw...StrutsLogFactory', whenStruts
    tries to load any Jakarta class
    from commons-beanutils or Struts which has logging.
    This happens because commons-logging picks up some property whichinstructs
    it to load that class, which is
    naturally not included in most web applications, since it is
    workshop-specific. This property definition, I think,
    is in <bea>\weblogic81\server\knex.jar, called
    commons-logging.properties,
    containing the following line:
    org.apache.commons.logging.LogFactory=com.bea.wlw.netui.util.logging.StrutsL
    ogFactory
    How can I override this in my webapp in a property file, so that when a
    Struts or Beanutils class calls
    LogFactory.getLog(org.apache.....<classname>.class), it would not try touse
    the property file and the
    class defined in knex.jar.
    Thanks in advance,
    Robert Varga
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    Actually it complained about a NoClassDefFoundError. Generally this
    is
    caused by something in a parent classloader that is found but then
    depends on something only loadable in a child classloader.
    eg.
    You have something in your $CLASSPATH that references something in the
    WEB-INF/lib. This will NoClassDefFoundError.
    So, as I recommended, remove everything you've added to the$CLASSPATH,
    add the jars to WEB-INF/lib. If you're still having problems, show me
    your $CLASSPATH, the contents of WEB-INF/lib, and the error message
    /stack trace.
    -- Rob
    yuruo chen wrote:
    Hello, Rob,
    I did put the common-beanutils and other jar files in the
    web-inf/lib
    directory.
    And from the weblogic console, I do see the jar file get included in
    the
    classpath.
    (those generated file name have some number attached at the end.)
    As
    I
    mentioned
    before, I can use javap find the class using this weblogic generatedclasspath.
    But weblogic complained that the class is not found.
    Rob Woollen <[email protected]> wrote:
    Remove anything you've added to the server's classpath.
    Add the required jar files to WEB-INF/lib
    -- Rob
    yuruo chen wrote:
    Hello,
    I am tring to deploy my struts web application in weblogic 8.1. I
    have
    all the
    library files in web-inf\lib directory. It gave me the error that
    class
    not found
    for some class in struts library. The console also told me the
    classpath.
    But
    I can use javap to find the class using the same classpath. Could
    any
    >>>>>
    one point
    me some direction what I am doing wrong here.
    Thanks.
    Here is the error message:
    java.lang.NoClassDefFoundError:
    org/apache/commons/beanutils/Converter.>
    <Nov 13, 2003 11:05:29 AM EST> <Error> <HTTP> <BEA-101216>
    <Servlet:
    >>>>>
    "action"
    fa
    iled to preload on startup in Web application: "voppocWebApp".
    javax.servlet.ServletException:
    [HTTP:101250][ServletContext(id=9921725,name=vop
    pocWebApp,context-path=/voppocWebApp)]: Servlet classorg.apache.struts.action.A
    ctionServlet for servlet action could not be loaded because a classon which it
    depends was not found in the classpath
    C:\bea\weblogic81\server\bin\myserver\upl
    >
    oad\voppocWebApp.war;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extrac
    >
    t\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\activation30425.jar;C:
    >
    \bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp
    >
    _voppocWebApp\jarfiles\WEB-INF\lib\commons-beanutils30426.jar;C:\bea\weblogic81\
    >
    server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\ja
    >
    rfiles\WEB-INF\lib\commons-collections30427.jar;C:\bea\weblogic81\server\bin\.\m
    >
    yserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF
    >
    \lib\commons-digester30428.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdel
    >
    ete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\commons-file
    >
    upload30429.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\mys
    >
    erver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\commons-lang30430.jar;C:\be
    >
    a\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_vo
    >
    ppocWebApp\jarfiles\WEB-INF\lib\commons-logging30431.jar;C:\bea\weblogic81\serve
    >
    r\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfile
    >
    s\WEB-INF\lib\commons-validator30432.jar;C:\bea\weblogic81\server\bin\.\myserver
    >
    \.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\ja
    >
    karta-oro30433.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\
    >
    myserver_voppocWebApp_voppocWebApp\jarfiles\WEB-INF\lib\jdbc2_0-stdext30434.jar;
    >
    C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\extract\myserver_voppocWebA
    >
    pp_voppocWebApp\jarfiles\WEB-INF\lib\mailapi30435.jar;C:\bea\weblogic81\server\b
    >
    in\.\myserver\.wlnotdelete\extract\myserver_voppocWebApp_voppocWebApp\jarfiles\W
    >
    EB-INF\lib\struts30436.jar;C:\bea\weblogic81\server\bin\.\myserver\.wlnotdelete\
    extract\myserver_voppocWebApp_voppocWebApp\jarfiles\_wl_cls_gen.jar.
    java.lang.NoClassDefFoundError:
    org/apache/commons/beanutils/Converter.
    atweblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
    mpl.java:800)
    atweblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppS
    ervletContext.java:3236)
    atweblogic.servlet.internal.WebAppServletContext.preloadServlets(WebApp
    ServletContext.java:3181)

Maybe you are looking for