One other thing I noticed, you've got a potential circular reference in /alert by specifying the input as /alert.do.
-- James Mitchell Software Developer/Struts Evangelist http://www.open-tools.org ----- Original Message ----- From: "Mick Knutson" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, May 29, 2003 2:26 PM Subject: URGENT: javax.servlet.ServletException: BeanUtils.populate > I have an error that I have been working on for 3 solid days. i have > searched the archives, but can't find my issue resolved anywhere. > I have an array of objects (ContactDto[]) that I need to display. I actually > have the full list I send in (userContacts), and the list of objects > selected in the alertForm (alertContacts). > I can display the form for an initial addAlert() just fine. I have not > gotten any further. > I do not seem t even get to my add() method ever. And even if I turn the log > level to debug, I do not seem to get any more information on the stacktrace. > > Please help me on this as I am very frustrated and confused. > > > StackTrace for alertForm Load, and then submission: > ========================================== > 10:59:25,965 INFO [AlertActions] userContacts[] length: 3 > 10:59:25,975 INFO [AlertActions] > ====================================================================== > 10:59:25,975 INFO [AlertActions] Must be a new alert then.... > 10:59:25,985 INFO [AlertActions] > ====================================================================== > 10:59:25,985 INFO [AlertActions] alertDto: {alertId= userId=1 subject= > startDate=null reoccurring= gracePeriodDays= gracePeriodHours= > endingDate=Thu May 29 10:59:24 CEST 2003 startingLocation=null > endingLocation=null status= safeConfirm= details= noteToContactees=} > 10:59:25,995 INFO [AlertActions] > ====================================================================== > 10:59:45,944 INFO [PropertyMessageResources] Initializing, > config='org.apache.struts.taglib.html.LocalStrings', returnNull=true > 10:59:45,944 INFO [PropertyMessageResources] Initializing, > config='org.apache.struts.taglib.html.LocalStrings', returnNull=true > 10:59:45,954 INFO [PropertyMessageResources] Initializing, > config='org.apache.struts.taglib.html.LocalStrings', returnNull=true > 10:59:45,954 INFO [PropertyMessageResources] Initializing, > config='org.apache.struts.taglib.html.LocalStrings', returnNull=true > 10:59:45,984 INFO [PropertyMessageResources] Initializing, > config='org.apache.struts.taglib.html.LocalStrings', returnNull=true > 11:00:55,504 INFO [SecurityContextFilter] processing request /alert.do > 11:00:55,544 ERROR [SecurityContextFilter] Exception > javax.servlet.ServletException: BeanUtils.populate > at > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1098) > at > org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.j ava:816) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420) > at > com.baselogic.yoursos.struts.ExtendedActionServlet.process(ExtendedActionSer vlet.java:53) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) > at > org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio nHandler.java:342) > at > com.baselogic.yoursos.security.SecurityContextFilter.doFilter(SecurityContex tFilter.java:102) > at > org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio nHandler.java:334) > at > com.baselogic.yoursos.user.UserPreferenceFilter.doFilter(UserPreferenceFilte r.java:46) > at > org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio nHandler.java:334) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl er.java:286) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1714) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext .java:507) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1664) > at org.mortbay.http.HttpServer.service(HttpServer.java:863) > at org.jboss.jetty.Jetty.service(Jetty.java:460) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:775) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) > > > alertActions.java::add(...): (LookupDispatchAction) > ========================= > public ActionForward add( ActionMapping mapping > , ActionForm form > , HttpServletRequest request > , HttpServletResponse response > ) > throws Exception > { > log.info( "Process a alert update()" ); > > if( log.isInfoEnabled() ) > { > log.info( "==========" ); > log.info( "form: " + form.toString() ); > log.info( "==========" ); > } > > > struts-config.xml mappings: > ====================== > <form-bean name="alertForm" > dynamic="true" > type="org.apache.struts.validator.DynaValidatorForm"> > <form-property name="alertId" type="java.lang.String" /> > <form-property name="userId" type="java.lang.Long" /> > > <form-property name="subject" type="java.lang.String" /> > <form-property name="startingDate" type="java.util.Date" /> > <form-property name="reoccurring" type="java.lang.String" /> > <form-property name="gracePeriodDays" type="java.lang.String" /> > <form-property name="gracePeriodHours" type="java.lang.String" > /> > <form-property name="endingDate" type="java.util.Date" /> > > <form-property name="status" type="java.lang.String" /> > <form-property name="safeConfirm" type="java.lang.String" /> > <form-property name="details" type="java.lang.String" /> > <form-property name="noteToContactees" type="java.lang.String" > /> > > <form-property name="alertContacts" type="java.lang.String[]" /> > <form-property name="userContacts" > type="com.baselogic.yoursos.contact.ContactDto[]" /> > <!--<form-property name="userContacts" > type="com.baselogic.yoursos.contact.ContactDto[]" />--> > <!--<form-property name="alertLocations" > type="com.baselogic.yoursos.location.LocationDto[]" />--> > </form-bean> > > <forward name="alertAdd" path="/alert.do" /> > > <action path="/alert" > input="/alert.do" > name="alertForm" > parameter="action" > scope="request" > type="com.baselogic.yoursos.alert.AlertActions" > validate="true" > > > <forward name="success" path="/alertList.do" redirect="true" /> > <forward name="error" path=".error" redirect="true" /> > <forward name="add" path=".alertAdd" redirect="true" /> > <forward name="edit" path=".alertEdit" redirect="true" /> > <forward name="view" path=".alertView" redirect="true" /> > </action> > > > > > > alert.jsp: > ========================= > <%@ page contentType="text/html; charset=utf-8" %> > <%@ page language="java" %> > <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> > <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> > <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> > <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> > > <html:form action="/alert"> > > <html:hidden property="alertId" /> > > <table width="100%" border="1" cellspacing="1" cellpadding="1"> > <tr bgcolor="#9966FF"> > <td height="2" colspan="2"> > <img src="/images/spacer.gif" width="8" height="8" alt="" border="0"> > Alert Details > </td> > </tr> > <tr> > <td><bean:message key="alert.subject"/></td> > <td><html:text property="subject" size="32" maxlength="32" /></td> > </tr> > <tr> > <td> </td> > <td> </td> > </tr> > <tr bgcolor="#9966FF"> > <td height="2" colspan="2"> > <img src="/images/spacer.gif" width="8" height="8" alt="" > border="0">Rotations > </td> > </tr> > <tr> > <td><bean:message key="alert.startDate"/></td> > <td><html:text property="startingDate" size="32" maxlength="32" /></td> > </tr> > <tr> > <td><bean:message key="alert.reoccurring"/></td> > <td> > <html:select property="reoccurring"> > <html:option value = "" key="form.select"/> > <html:option value = "1" key="Every Day"/> > <html:option value = "2" key="Every 2 Days"/> > <html:option value = "3" key="Every 3 Days"/> > <html:option value = "4" key="Every 4 Days"/> > <html:option value = "5" key="Every 5 Days"/> > <html:option value = "6" key="Every 6 Days"/> > <html:option value = "7" key="Every Week"/> > <html:option value = "14" key="Every 2 Weeks"/> > <html:option value = "30" key="Every Month"/> > </html:select> > </td> > </tr> > <tr> > <td><bean:message key="alert.gracePeriodDays"/></td> > <td> > <html:select property="gracePeriodDays"> > <html:option value = "1" key="1 Day"/> > <html:option value = "2" key="2 Day"/> > <html:option value = "3" key="3 Day"/> > <html:option value = "4" key="4 Day"/> > <html:option value = "5" key="5 Day"/> > <html:option value = "6" key="6 Day"/> > </html:select> > </td> > </tr> > <tr> > <td><bean:message key="alert.gracePeriodHours"/></td> > <td> > <html:select property="gracePeriodHours"> > <html:option value = "" key="form.select"/> > <html:option value = "1" key="1 Hour"/> > <html:option value = "2" key="2 Hour"/> > <html:option value = "3" key="3 Hour"/> > <html:option value = "4" key="4 Hour"/> > <html:option value = "5" key="5 Hour"/> > <html:option value = "6" key="6 Hour"/> > <html:option value = "7" key="7 Hour"/> > <html:option value = "8" key="8 Hour"/> > <html:option value = "9" key="9 Hour"/> > <html:option value = "10" key="10 Hour"/> > <html:option value = "11" key="11 Hour"/> > <html:option value = "12" key="12 Hour"/> > <html:option value = "13" key="13 Hour"/> > <html:option value = "14" key="14 Hour"/> > <html:option value = "15" key="15 Hour"/> > <html:option value = "16" key="16 Hour"/> > <html:option value = "17" key="17 Hour"/> > <html:option value = "18" key="18 Hour"/> > <html:option value = "19" key="19 Hour"/> > <html:option value = "20" key="20 Hour"/> > <html:option value = "21" key="21 Hour"/> > <html:option value = "22" key="22 Hour"/> > <html:option value = "23" key="23 Hour"/> > </html:select> > </td> > </tr> > <tr> > <td><bean:message key="alert.endingDate"/></td> > <td><html:text property="endingDate" size="32" maxlength="32" /></td> > </tr> > <tr> > <td> </td> > <td> </td> > </tr> > > <tr bgcolor="#9966FF"> > <td height="2" colspan="2"> <img src="/images/spacer.gif" width="8" > height="8" alt="" border="0"> > Starting Location > </td> > </tr> > <tr> > <td><bean:message key="alert.starting.location"/></td> > <td> > Starting Location select > </td> > </tr> > <tr> > <td> </td> > <td> </td> > </tr> > > <tr bgcolor="#9966FF"> > <td height="2" colspan="2"> <img src="/images/spacer.gif" width="8" > height="8" alt="" border="0"> > Ending Location </td> > </tr> > <tr> > <td><bean:message key="alert.ending.location"/></td> > <td> > Ending Location select > </td> > </tr> > <tr> > <td> </td> > <td> </td> > </tr> > > <tr bgcolor="#9966FF"> > <td width="7" height="2" colspan="5"> > <img src="/images/spacer.gif" height="8" alt="" border="0">Alert > Preferences > </td> > </tr> > <tr> > <td><bean:message key="alert.status"/> </td> > <td> > <html:select property="status"> > <html:option value = "" key="form.select"/> > <html:option value = "active" key="Active"/> > <html:option value = "pending" key="Pending"/> > <html:option value = "cancelled" key="Cancelled"/> > </html:select> > </td> > </tr> > <tr> > <td><bean:message key="alert.safeConfirm"/> </td> > <td> > <html:select property="safeConfirm"> > <html:option value = "" key="form.select"/> > <html:option value = "finish" key="On finish date"/> > <html:option value = "reaccur" key="Each Re-Accurence"/> > <html:option value = "never" key="Never"/> > </html:select> > </td> > </tr> > <tr> > <td><bean:message key="alert.contacts"/></td> > <td colspan="2"> > <html : select property="userContacts" multiple="true" > > < html : optionsCollection property="userContacts" > value="contactId" > label="firstName" /> > </ html : select> > </td> > </tr> > <tr> > <td><bean:message key="alert.details"/></td> > <td colspan="2"> > <html:textarea property="details" rows="7" /> > </td> > </tr> > <tr> > <td><bean:message key="alert.noteToContactees"/></td> > <td colspan="2"> > <html:textarea property="noteToContactees" rows="7" /> > </td> > </tr> > <tr> > <td height="2" colspan="4"> > <img src="/images/spacer.gif" height="8" alt="" border="0"> > <html:submit property="action"> > <bean:message key="button.add"/> > </html:submit> > </td> > </tr> > <tr bgcolor="#9966FF"> > <td height="2" colspan="2"> > <img src="/images/spacer.gif" width="8" height="8" alt="" border="0"> > </td> > </tr> > </table> > </html:form> > > ================================================== > > Thanks in advance for you help! > > Mick knutson > > _________________________________________________________________ > Add photos to your e-mail with MSN 8. Get 2 months FREE*. > http://join.msn.com/?page=features/featuredemail > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]