re-ordered the libraries and builders, forced JDK compiler compliance to 5.0 ( definitely *not* 6.0 !!) in Eclipse and voila...runs great. never *really* thought it was a Struts2 problem ; )
On Tue, Jul 29, 2008 at 9:26 AM, John Moose <[EMAIL PROTECTED]> wrote: > A very wierd situation...I have two projects in the Eclipse workspace -- > Tagging and Dashbd They both use the REST plugin and follow the naming > conventions, etc. Tagging will build, re-deploy and run perfectly. When I > close that project and open Dashbd, build, re-deploy and run I get the > Action mapping failure as described. Both projects have source files in the > "com.myeclipse.ozone" package name(space). Is it possible that there is some > very persistent caching going on ??? like over multiple starts and re-starts > of Tomcat? just a WAG... > > -John > > > On Tue, Jul 29, 2008 at 5:08 AM, Pauli Savolainen < > [EMAIL PROTECTED]> wrote: > >> Hi, >> >> I am having exactly the same problem. I was using Struts 2.1.1, >> switched to struts 2.1.2 (including the restful and codebehind >> plugins) and started to get this 'no action found' error. I am quite >> confident that I did not do anything that should've resulted in this. >> Of course I cannot be 100% sure, because I did goof around with my >> code a bit, but I checked and rechecked and rerechecked everthing >> twice and couldn't find a reason for this behaviour. >> >> John's web.xml and the stacktrace are identical to mine. I don't >> declare any namespaces in my struts.xml packages nor in the login form >> from which I try to invoke the login action <s:form >> action="/login/execute" method="post">. (Also tried with an >> exclamation mark i.e. login!execute) I have a LoginAction.java with an >> execute method in the pacakge defined in the web.xml's actionPackages >> init parameter. At least this declaration used to send the control to >> the LoginAction's execute method. Doesn't do anymore. >> >> I am using the struts 2.1.2 tiles plugin as well. On my index.jsp I >> include a tiles main layout which in turn includes sub-layouts (such >> as the login form). I don't know if this has anything got to do with >> the problem I'm having. >> >> So, is a result of something I did wrong or could it be something else? >> >> Thank you >> >> Pauli Savolainen >> >> 2008/7/28 Paul Benedict <[EMAIL PROTECTED]>: >> > What's the correct way of writing a good 404 or action not found page? >> Does >> > s2 have something like a fallback action if nothing can be found? >> > >> > Paul >> > >> > On Mon, Jul 28, 2008 at 4:04 PM, Dave Newton <[EMAIL PROTECTED]> >> wrote: >> > >> >> Hmm, I wonder if it was the same issue I was having with 2.1.3 a week >> or so >> >> ago that I haven't had time to re-visit--so it actually could be the >> web.xml >> >> (specifically the dispatcher being used) and I may have put my foot in >> my >> >> mouth (again). >> >> >> >> Somebody followed up saying the original FilterDispatcher worked, >> though, >> >> so maybe not. Hrm. >> >> >> >> Dave >> >> >> >> --- On Mon, 7/28/08, John Moose <[EMAIL PROTECTED]> wrote: >> >> > and I probably should have included this as well: >> >> > >> >> > Struts Problem Report >> >> > >> >> > Struts has detected an unhandled exception: >> >> > *Messages*: >> >> > There is no Action mapped for namespace / and action name >> >> > dashbd. >> >> > ------------------------------ >> >> > Stacktraces *There is no Action mapped for namespace / and >> >> > action name >> >> > dashbd. - [unknown location]* >> >> > >> >> > >> >> > >> >> >> com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177) >> >> > >> >> > >> >> >> com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:59) >> >> > >> >> > >> >> >> org.apache.struts2.rest.RestActionProxyFactory.createActionProxy(RestActionProxyFactory.java:40) >> >> > >> >> > >> >> >> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:439) >> >> > >> >> > >> >> >> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) >> >> > >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) >> >> > >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) >> >> > >> >> > >> >> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) >> >> > >> >> > >> >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) >> >> > >> >> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) >> >> > >> >> > >> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) >> >> > >> >> > >> >> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) >> >> > >> >> > >> >> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) >> >> > >> >> > >> >> >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) >> >> > >> >> > >> >> >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) >> >> > java.lang.Thread.run(Thread.java:595) >> >> > >> >> > >> >> > >> >> > On Mon, Jul 28, 2008 at 4:39 PM, John Moose >> >> > <[EMAIL PROTECTED]> wrote: >> >> > >> >> > > Hi Dave, >> >> > > >> >> > > I have the following snippet of DashbdController class >> >> > that I am expecting >> >> > > to hit with the following URL: >> >> > > >> >> > > http:/localhost:8080/Dashbd >> >> > > >> >> > > <---SNIPPET >> >> > > >> >> > > package com.myeclipse.ozone; >> >> > > >> >> > > import java.util.Collection; >> >> > > >> >> > > import com.myeclipse.hibernate.*; >> >> > > >> >> > > import org.hibernate.HibernateException; >> >> > > import org.hibernate.Session; >> >> > > import org.hibernate.cfg.Configuration; >> >> > > >> >> > > import org.apache.struts2.config.Result; >> >> > > import org.apache.struts2.config.Results; >> >> > > import >> >> > org.apache.struts2.dispatcher.ServletActionRedirectResult; >> >> > > import org.apache.struts2.rest.DefaultHttpHeaders; >> >> > > import org.apache.struts2.rest.HttpHeaders; >> >> > > >> >> > > import com.opensymphony.xwork2.ModelDriven; >> >> > > import com.opensymphony.xwork2.Validateable; >> >> > > import com.opensymphony.xwork2.ValidationAwareSupport; >> >> > > >> >> > > >> >> > > @Results({ >> >> > > @Result(name="success", >> >> > type=ServletActionRedirectResult.class, >> >> > > value="dashbd") >> >> > > }) >> >> > > >> >> > > public class DashbdController extends >> >> > ValidationAwareSupport implements >> >> > > ModelDriven<Object>, Validateable{ >> >> > > >> >> > > //private static Gadget transientGadget = new >> >> > Gadget(); >> >> > > >> >> > > //String id; >> >> > > int id; >> >> > > >> >> > > private static int dashboardId; >> >> > > >> >> > > private Collection<Dashbd> >> >> > dashboardList; >> >> > > private Collection<Dashbd> model; >> >> > > private Collection<DashbdType> >> >> > dashboardTypeList; >> >> > > >> >> > > private DashbdService dashboardService = new >> >> > DashbdService(); // where >> >> > > the DAOs live >> >> > > >> >> > > >> >> > > /* >> >> > > >> >> > >> >> >> **************************************************************************************** >> >> > > * DASHBOARDS >> >> > > */ >> >> > > >> >> > > // >> >> > > // GET .../dashbd get all >> >> > dashboards in table >> >> > > // >> >> > > public HttpHeaders index() { >> >> > > dashboardList = dashboardService.getAll(); >> >> > > return new >> >> > DefaultHttpHeaders("index") // dashbd-index.jsp >> >> > > .disableCaching(); >> >> > > } >> >> > > >> >> > > >> >> > > and etc. .... >> >> > > >> >> > > ...END SNIPPET > >> >> > > >> >> > > There are more methods in this calss of course, but >> >> > all I'm trying to do >> >> > > initially is hit the index() action with the URL above >> >> > ?!? >> >> > > >> >> > > the index.jsp is really simple: >> >> > > >> >> > > <% response.sendRedirect("dashbd"); %> >> >> > > >> >> > > >> >> > > this same scheme works perfectly with another RESTful >> >> > app service and fir >> >> > > the life of me, I can't find any >> >> > > >> >> > > >> >> > > >> >> > > On Mon, Jul 28, 2008 at 4:17 PM, Dave Newton >> >> > <[EMAIL PROTECTED]>wrote: >> >> > > >> >> > >> The web.xml doesn't have anything to do with >> >> > the error message; it thinks >> >> > >> there isn't an action configured at the URL >> >> > you're requesting. >> >> > >> >> >> > >> Impossible to help without more information. >> >> > >> >> >> > >> Dave >> >> > >> >> >> > >> --- On Mon, 7/28/08, John Moose >> >> > <[EMAIL PROTECTED]> wrote: >> >> > >> >> >> > >> > From: John Moose <[EMAIL PROTECTED]> >> >> > >> > Subject: There is no Action mapped for >> >> > namespace / and action name ... >> >> > >> > To: "Struts Users Mailing List" >> >> > <user@struts.apache.org> >> >> > >> > Date: Monday, July 28, 2008, 3:58 PM >> >> > >> > I know what you're thinking... web.xml >> >> > has no action >> >> > >> > mapping, but it does! >> >> > >> > >> >> > >> > >> >> > >> > <?xml version="1.0" >> >> > >> > encoding="UTF-8"?> >> >> > >> > <web-app version="2.5" >> >> > >> > >> >> > xmlns="http://java.sun.com/xml/ns/javaee" >> >> > >> > >> >> > >> > >> >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> > >> > >> >> > >> > >> >> > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee >> >> > >> > >> >> > >> > >> >> > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> >> >> > >> > >> >> > >> > <display-name>Struts 2 RESTful >> >> > Ozone >> >> > >> > Services</display-name> >> >> > >> > >> >> > >> > <!-- Filters --> >> >> > >> > <filter> >> >> > >> > >> >> > <filter-name>action2</filter-name> >> >> > >> > >> >> > >> > >> >> > >> >> >> > >> >> >> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> >> >> > >> > <init-param> >> >> > >> > >> >> > >> > >> >> > <param-name>actionPackages</param-name> >> >> > >> > >> >> > >> > >> >> > <param-value>com.myeclipse.ozone</param-value> >> >> > >> > </init-param> >> >> > >> > <init-param> >> >> > >> > >> >> > >> > >> >> > <param-name>struts.devMode</param-name> >> >> > >> > >> >> > <param-value>true</param-value> >> >> > >> > </init-param> >> >> > >> > </filter> >> >> > >> > >> >> > >> > <filter-mapping> >> >> > >> > >> >> > <filter-name>action2</filter-name> >> >> > >> > >> >> > <url-pattern>/*</url-pattern> >> >> > >> > </filter-mapping> >> >> > >> > >> >> > >> > <welcome-file-list> >> >> > >> > >> >> > <welcome-file>index.jsp</welcome-file> >> >> > >> > </welcome-file-list> >> >> > >> > </web-app> >> >> > >> > >> >> > >> > >> >> > >> > >> >> > >> > This file works well with another Struts2.1.3 >> >> > app. Can >> >> > >> > someone help me >> >> > >> > understand where to look for the cause of >> >> > this??? >> >> > >> > >> >> > >> > Thanks folks >> >> > >> >> >> > >> >> >> > --------------------------------------------------------------------- >> >> > >> 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] >> >> >> >> >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >