I get following Error when I try out the Detail View in the REST Showcase:
http://localhost:8080/struts2-rest-showcase/orders/3
org.apache.struts2.rest.DefaultHttpHeaders cannot be cast to java.lang.String
RequestURI=/struts2-rest-showcase/orders/3
Caused by:
java.lang.ClassCastException: org.apache.struts2.rest.DefaultHttpHeaders cannot be cast to java.lang.String
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:462)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)
When I change the show() Method in the OrdersController I get it work.
from
public HttpHeaders show() {
return new DefaultHttpHeaders("show");
}
to
public String show() {
return "show";
}
Is this the right Solution? Does anyone knows why this Error happens in the current version of REST Showcase?
------
this happens cause the RestActionProxyFactory uses the root ("/") as
default namespace and RestActionMapper maps this kind of action along
the empty ("") namespace.
if you try to insert the following xml code inside the struts
configuration file, it works.
<constant name="struts.rest.namespace" value=""/>