|
I had posted this question a few days ago. I am not sure if it was delivered to the list as there were some issues with my mail client. Sorry for posting it again. This is a critical issue for us and any pointers / suggestions would be very useful.
We are using OPS along with Webwork. OPS is used for rendering the Xforms and Webwork is used for processing the requests and setting up the data for the forms.
We are using select1 control with auto-complete support. To fetch the list of values we have defined a submission element as follows
the url /xforms/getSerialNumbers.action refers to a webwork action which produces a XML fragment. The problem is that OPS invokes this as a remote URL submission. Because of this the original session information is not available to the action.
The following check in the code (XFormsModelSubmission.java - lin 451) is used to determine whether to make a remote submission or a local submission.
!NetUtils.urlHasProtocol(resolvedAction)
&& (externalContext.getRequest().getContainerType().equals("portlet")
|| (externalContext.getRequest().getContainerType().equals("servlet")
&& (XFormsUtils.isOptimizeLocalSubmission() || isMethodOptimizedLocalSubmission())
&& isReplaceAll))
If I remove the isReplaceAll clause from the condition it works fine. Going through the code I couldn't find a reason why a recplace="instance" can't be treated as a local submission. Is this a bug or is there some reason to prefer a remote submission over local submission for replace="instance" case. If that is the case what is the correct fix for this problem?
Hope I have explained the problem clearly.
Thanks for the Help,
Kamal
|