Hi - I am in the process of migrating an old jboss7/java8/dwr3 project to wildfly30/java21 . I have found dwr4 on github GitHub - directwebremoting/dwr: Direct Web Remoting - Easy Ajax for Java that already is modified to work with new servlet6 (jakarta.* instead of javax*).
My application is an ear with multiple wars and ejbs bundled together inside the same ear.
I am having issues with converters for marshaling pojos.
For example in one of my wars, this is a request from server:
callCount=1
c0-scriptName=StudiesDWRManager
c0-methodName=getStudies
c0-id=0
c0-e1=number:1
c0-e2=number:0
c0-e3=number:50
c0-e6=string:studyDatetime
c0-e7=string:DESC
c0-e5=Object_Object:{property:reference:c0-e6, direction:reference:c0-e7}
c0-e4=array:[reference:c0-e5]
c0-param0=Object_Object:{page:reference:c0-e1, start:reference:c0-e2, limit:reference:c0-e3, sorters:reference:c0-e4}
batchId=3
instanceId=0
page=%2F
scriptSessionId=D803~ijKHLTVengL5C7BPJH69TUV6XwyGRo/xbiAGRo-pBcDiDuH3
This should marshal into
@DataTransferObject(converter = BeanConverter.class)
public class ExtJsStoreParams {
private Integer start;
private Integer limit;
private Integer page;
private Map<String, String>[] sorters;
private Map<String, String>[] filters;
-> has proper getters and setters
As you can see I have the @DataTransferObject annotation.
I also have in dwr.xml:
<dwr>
<allow>
<convert match="java.lang.Exception" converter="exception">
<param name='include' value='message' />
</convert>
<convert match="com.bellybaloo.server.webapps.studies.dwr.ExtJsStoreParams" converter="bean" />
</allow>
</dwr>
But still, when javascript tries to call this dwr method, there is an error in logs:
16:05:13,467 WARN [org.directwebremoting.extend.Call] (default task-5) No methods called 'getStudies' in NewCreator for com.bellybaloo.server.webapps.studies.StudiesDWRManager are applicable for the passed parameters.
Of course, nothing gets sent.
Debugging inside dwr classes, I can see there are no converters registered into dwr, even if I have them annotated and in dwr.xml.
Any ideas regarding what I can try next?
Thanks!