WW2.2 Beta2 Problem with Dispatcher Result to .action(s)
| From: Mike Porter |
Date: Friday, September 23, 2005
|
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of
type "dispatcher"(the default defined
in webwork-default
file ) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing lots and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a
mapping that used to work... but no longer works:
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param name="location">/security/EditGroup.action
</param>
</result>
</action>
I can see that the ServletDispatcherResult
code hasn't changed in
CVS
for months... but I dont know how .actions used to get
execute d....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Erik Beeson |
Date: Saturday, September 24, 2005
|
What about it is not working? If you're getting an error, what's the error?
wrote in message:
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of type "dispatcher"(the default defined
in webwork-default file) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing lots and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a mapping that used to work... but no longer works:
<action name=3D"ManageGroup"
class=3D"com.esage.agility.action.admin.security.ManageGroupAction">
<result name=3D"success" type=3D"dispatcher">
<param name=3D"location">/security/EditGroup.action</param>
</result>
</action>
I can see that the ServletDispatcherResult code hasn't changed in CVS
for months... but I dont know how .actions used to get executed....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Mike Porter |
Date: Saturday, September 24, 2005
|
Good
point .
I get a
404 in resin. Im not getting any errors specifically other than
im getting my 404 page. Resin is looking for a file called
ManageGroup.action. Resin doesn't know to execute some WW action.
If I have a
break point in the ServletDispatcherResult it executes this
line :
dispatcher.forward(request, response);
with the .action as the finalLocation.
But... if I've a break point in the FilterDispatcher the Filter is
never called for the INTERNAL dispatch. That is to say, that the
filter
is called just once on the inital post, but not for my subsequent result
== dispatcher result.
If I were to guess, I would guess that the OLD WW 2.1.X using the old
ServletDispatcher was handling the
execution of a .action... but now
when we use Resins dispatcher.forward() the code doesn't execute the
Filter... which I guess executes the Actions for us.
Specifically if I am reading the FilterDipatcher right...it looks like
line 176 is starting the action execution process...
du.serviceAction(request, response,
filterConfig.getServletContext(), mapping);
So... if the dispatcher result doesn't result in a
complete filter
stack execution it really appears like my actions can not get executed.
And thus... Resin is still just looking for a .action file.
I hope this all helps.
Mike
wrote in message:
What about it is not working? If you're getting an error, what's the error?
--Erik
wrote in message:
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of type "dispatcher"(the default defined
in webwork-default file) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing lots and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a mapping that used to work... but no longer works:
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param name="location">/security/EditGroup.action</param>
</result>
</action>
I can see that the ServletDispatcherResult code hasn't changed in CVS
for months... but I dont know how .actions used to get executed....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Peter Johnson |
Date: Saturday, September 24, 2005
|
2.2 uses FilterDispatcher and thus no specific mapping to .action is
needed, in fact no mapping at all is needed (depending on you
ActionMapper implementation). If the request is for an action, in
general this is when it ends with the value of webwork.action.extension
in the webwork.properties file, the filter
trigger s the action directly
via a call to ActionProxy. So, no
servlet is actually required.
PJ
wrote in message:
Good point.
I get a 404 in resin. Im not getting any errors specifically other
than im getting my 404 page. Resin is looking for a file called
ManageGroup.action. Resin doesn't know to execute some WW action.
If I have a break point in the ServletDispatcherResult it executes
this line:
dispatcher.forward(request, response);
with the .action as the finalLocation.
But... if I've a break point in the FilterDispatcher the Filter is
never called for the INTERNAL dispatch. That is to say, that the
filter is called just once on the inital post, but not for my
subsequent result == dispatcher result.
If I were to guess, I would guess that the OLD WW 2.1.X using the old
ServletDispatcher was handling the execution of a .action... but now
when we use Resins dispatcher.forward() the code doesn't execute the
Filter... which I guess executes the Actions for us.
Specifically if I am reading the FilterDipatcher right...it looks like
line 176 is starting the action execution process...
du.serviceAction(request, response,
filterConfig.getServletContext(), mapping);
So... if the dispatcher result doesn't result in a complete filter
stack execution it really appears like my actions can not get
executed. And thus... Resin is still just looking for a .action file.
I hope this all helps.
Mike
wrote in message:
What about it is not working? If you're getting an error, what's the
error?
--Erik
wrote in message:
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of type "dispatcher"(the default defined
in webwork-default file) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing lots and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a mapping that used to work... but no longer works:
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param name="location">/security/EditGroup.action</param>
</result>
</action>
I can see that the ServletDispatcherResult code hasn't changed in CVS
for months... but I dont know how .actions used to get executed....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Peter Johnson |
Date: Saturday, September 24, 2005
|
Sorry, somehow misread what you were saying, I know Tomcat has a setting
for
<filter-mapping like those below but it appears to be a TODO in
Resin, http://www.caucho.com/resin-3.0/config/webapp.xtp#filter-mapping
<filter-mapping>
<filter-name>foobar
</filter-name>
<url-pattern>/*
</url-pattern>
<dispatcher>FORWARD
</dispatcher>
<dispatcher>REQUEST
</dispatcher>
<dispatcher>INCLUDE
</dispatcher>
<dispatcher>ERROR
</dispatcher>
</filter-mapping>
PJ
wrote in message:
2.2 uses FilterDispatcher and thus no specific mapping to .action is
needed, in fact no mapping at all is needed (depending on you
ActionMapper implementation). If the request is for an action, in
general this is when it ends with the value of
webwork.action.extension in the webwork.properties file, the filter
triggers the action directly via a call to ActionProxy. So, no servlet
is actually required.
PJ
wrote in message:
Good point.
I get a 404 in resin. Im not getting any errors specifically other
than im getting my 404 page. Resin is looking for a file called
ManageGroup.action. Resin doesn't know to execute some WW action.
If I have a break point in the ServletDispatcherResult it executes
this line:
dispatcher.forward(request, response);
with the .action as the finalLocation.
But... if I've a break point in the FilterDispatcher the Filter is
never called for the INTERNAL dispatch. That is to say, that the
filter is called just once on the inital post, but not for my
subsequent result == dispatcher result.
If I were to guess, I would guess that the OLD WW 2.1.X using the old
ServletDispatcher was handling the execution of a .action... but now
when we use Resins dispatcher.forward() the code doesn't execute the
Filter... which I guess executes the Actions for us.
Specifically if I am reading the FilterDipatcher right...it looks
like line 176 is starting the action execution process...
du.serviceAction(request, response,
filterConfig.getServletContext(), mapping);
So... if the dispatcher result doesn't result in a complete filter
stack execution it really appears like my actions can not get
executed. And thus... Resin is still just looking for a .action file.
I hope this all helps.
Mike
wrote in message:
What about it is not working? If you're getting an error, what's the
error?
--Erik
wrote in message:
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of type "dispatcher"(the default defined
in webwork-default file) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing lots
and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a mapping that used to work... but no longer works:
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param name="location">/security/EditGroup.action</param>
</result>
</action>
I can see that the ServletDispatcherResult code hasn't changed in CVS
for months... but I dont know how .actions used to get executed....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Mike Porter |
Date: Saturday, September 24, 2005
|
I could add this config to my web.xml but isnt the larger issue that
something that worked in WW 2.1.X is broke in WW 2.2?
If this mapping worked in WW2.1.X it really should still work out of the
box in WW2.2 dont you all agree? Or as is possible I might just be high
on crack.
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param name="location">/security/EditGroup.action
</param>
//This result mapping in resin results in a resin 404 stating it can not
find EditGroup.action
</result>
</action>
wrote in message:
Sorry, somehow misread what you were saying, I know Tomcat has a
setting for <filter-mapping like those below but it appears to be a
TODO in Resin,
http://www.caucho.com/resin-3.0/config/webapp.xtp#filter-mapping
<filter-mapping>
<filter-name>foobar</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
PJ
wrote in message:
2.2 uses FilterDispatcher and thus no specific mapping to .action is
needed, in fact no mapping at all is needed (depending on you
ActionMapper implementation). If the request is for an action, in
general this is when it ends with the value of
webwork.action.extension in the webwork.properties file, the filter
triggers the action directly via a call to ActionProxy. So, no
servlet is actually required.
PJ
wrote in message:
Good point.
I get a 404 in resin. Im not getting any errors specifically other
than im getting my 404 page. Resin is looking for a file called
ManageGroup.action. Resin doesn't know to execute some WW action.
If I have a break point in the ServletDispatcherResult it executes
this line:
dispatcher.forward(request, response);
with the .action as the finalLocation.
But... if I've a break point in the FilterDispatcher the Filter is
never called for the INTERNAL dispatch. That is to say, that the
filter is called just once on the inital post, but not for my
subsequent result == dispatcher result.
If I were to guess, I would guess that the OLD WW 2.1.X using the
old ServletDispatcher was handling the execution of a .action... but
now when we use Resins dispatcher.forward() the code doesn't
execute the Filter... which I guess executes the Actions for us.
Specifically if I am reading the FilterDipatcher right...it looks
like line 176 is starting the action execution process...
du.serviceAction(request, response,
filterConfig.getServletContext(), mapping);
So... if the dispatcher result doesn't result in a complete filter
stack execution it really appears like my actions can not get
executed. And thus... Resin is still just looking for a .action file.
I hope this all helps.
Mike
wrote in message:
What about it is not working? If you're getting an error, what's the
error?
--Erik
wrote in message:
I am really starting to feel like an idiot for having soooooo much
trouble w/ upgrading to WW2.2 from WW2.1.X...
But here is another.
I used to have action results of type "dispatcher"(the default
defined
in webwork-default file) that dispatched to an Action.
This no longer works for me anymore. I use this type of thing
lots and
lots and it used to work great, so I can not be too crazy.
I'm using Resin 3.0.14.
Here is a mapping that used to work... but no longer works:
<action name="ManageGroup"
class="com.esage.agility.action.admin.security.ManageGroupAction">
<result name="success" type="dispatcher">
<param
name="location">/security/EditGroup.action</param>
</result>
</action>
I can see that the ServletDispatcherResult code hasn't changed in
CVS
for months... but I dont know how .actions used to get executed....
Thanks for the help in advance.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Peter Johnson |
Date: Saturday, September 24, 2005
|
Mike,
Well I do not believe that the
framework is broken, as it does correctly
perform the dispatch. Without the "dispatcher" directives described
before I can trigger the 404 but when I add them in it works correctly,
thus the issue is the configuration of the container's handling of the
filter. I use Tomcat btw.
If Resin does not yet
support the dispatcher config for filters then a
workaround for you could be to use a redirect instead.
PJ
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
| From: Mike Porter |
Date: Saturday, September 24, 2005
|
I could use redirects for a few of my dispatches, but some I really
prefer to use
server side forwards via dispatches.
I'll also look into the resin config that you mentioned.
But again I'd like to have a conversation about this issue possibly
being considered a bug. How many people use dispatches in the way I
detailed? We can not
expect them to all change to redirects can we?
For me... sure... ill change my code, but for the rest of humanity?
Think of all the starving children who won't get dinner while all the
WW developers
upgrade to WW 2.2. Or all the Katrina Hurricane survivors
who can not get water cause the FIMA water
tracking system runs on
Resin??? They want their water forwarded to them... not redirected!!!
:) (sorry for the jokes... its getting late on a sat.. and I should be
out playing).
Does anybody else have any thoughts on this issue?
Mike
wrote in message:
Mike,
Well I do not believe that the framework is broken, as it does
correctly perform the dispatch. Without the "dispatcher" directives
described before I can trigger the 404 but when I add them in it works
correctly, thus the issue is the configuration of the container's
handling of the filter. I use Tomcat btw.
If Resin does not yet support the dispatcher config for filters then a
workaround for you could be to use a redirect instead.
PJ
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxx
Next Message: Tomcat 5.x and WebWork 2.1.7