I’ve managed to get WSRP4J working nicely with JSF portlets and nabh MVCPortlets, using Liferay’s WSRP proxy portlet.

My major aim is to get it working behind MS Sharepoint portal server via an open source WSRP proxy web part.


The web part seems not to supply ClientData in some requests, and the WSRP spec seems to say this is optional.

I noticed a recent fix to the WSRP4J consumer portlet that creates ClientData (user agent) if none is defined in xml.

I had to comment out the checking of the ClientData parameter in the WSRP4J server since the server still assumes ClientData is there.


No idea if this has deeper implications (key for storing data or whatever) but at least WSRP now works between the two endpoints now.

If there are no other implications, maybe a committer would like to do this in the official WSRP4J sources.


I also found that MVCPortlet needs a hidden field on forms called request_type for action dispatching. The proxy web part remaps the names of form fields, adding a unique prefix for each web part. But there’s a bug for hidden form fields – the prefix isn’t added, so on POST these request parameters are not converted to WSRP and sent to WSRP4J.


We’re currently fixing the web part. JSF portlets also have similar problems, probably because of hidden fields and Javascript not being rewritten properly on the client side – maybe the fix will work for JSF portlets too.