Login  Register

Re: Re: multiple instances submission

Posted by Alexandru Ionita on Dec 11, 2009; 8:27am
URL: https://discuss.orbeon.com/multiple-instances-submission-tp954566p960871.html



Hello Erik,

thanks for your reply.

Meanwhile I have changed my logic and what I'm trying to do now is to call a pipeline with two input parameters like this:

<xf:insert nodeset="instance('formCheckMessages')"
               origin="xxforms:call-xpl(
               '<%=StringUtils.getRemoteXplProcessor(StringUtils.CHECK_FORM_PROCESSOR) %>', 
               ('requestId','formData'), 
               (instance('userResponse')/sapRequestId, instance('content')), 'checkMessages')"/>


and the pipe line is like this:

<p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
xmlns:oxf="http://www.orbeon.com/oxf/processors"
xmlns:delegation="http://orbeon.org/oxf/xml/delegation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:m="http://localhost:13569/InvoiceCyclePSNV/services/CheckFormController">

<p:param name="requestId" type="input" debug="req-id"/> 
<p:param name="formData" type="input" debug="form-data"/> 
<p:param name="checkMessages" type="output"/> 
<p:processor name="oxf:delegation">
<p:input name="requestId" href="#requestId" debug="req-id"/>
<p:input name="formData" href="#formData" debug="form-data"/>
<p:input name="interface">
<config>
<service id="check-form" type="webservice" style="document"
endpoint="http://localhost:13569/InvoiceCyclePSNV/services/CheckFormController">
<operation name="checkForm" soap-action="checkForm" />
</service>
</config>
</p:input>
<p:input name="call">
<delegation:execute service="check-form" operation="checkForm">
<m:checkForm>
<m:requestId></m:requestId>
<m:formData></m:formData>
</m:checkForm>
</delegation:execute>
</p:input>
<p:output name="checkMessages" ref="checkMessages" />
</p:processor>


</p:config>




but my problem now is that I don't know how to refer these two input parameters inside the webservice call. The first one, requestId, is a long variable and the second, formData, is a xml instance that is backing the xform and I want to send it as it is (xml) to the webservice.


Thanks and regards,
Alexandru 


On Fri, Dec 11, 2009 at 04:33, Erik Bruchez <[hidden email]> wrote:
Alexandru,

Something like this should work:

<xf:submission id="postResponse" method="post"
ref="instance('aggregate')" action="/service/dispatchRequest.do">
   <xforms:action ev:event="xforms-submit">
       <xf:delete nodeset="instance('aggregate')/*"/>
       <xf:insert context="instance('aggregate')" nodeset="*"
origin="instance('userResponse')"/>
       <xf:insert context="instance('aggregate')" nodeset="*"
origin="instance('initialData')"/>
   </xforms:action>
</xf:submission>

<xf:instance id="aggregate">
 <response/>
</xf:instance>

Re. question 2, yes it's possible. You can do this with 2 submissions:

* 1st one submits data to your service implemented in XPL and
retrieves the result
* Upon 1st submission's xforms-submit-done, send 2nd submission

-Erik

On Mon, Dec 7, 2009 at 9:46 AM, Alexandru Ionita
<[hidden email]> wrote:
>
>
> Hello guys,
>
> I have two questions:
>
> 1. How can I submit multiple instances to a J2EE servlet? now I do it like
> this:
>
> <xf:submission id="postResponse" method="post"
> ref="instance('userResponse')" action="/service/dispatchRequest.do"/>
>
> <xf:action ev:event="DOMActivate">
>   <xf:setvalue ref="/user-response/userAction">accept</xf:setvalue>
>   <xf:send submission="postResponse"/>
> </xf:action>
>
> but I want to merge the instance of userResponse with another instance
> available in my model. Something similar to aggregate("response",
> instance('userResponse'), instance('initialData'))   (this is not working
> unfortunately).
>
> and the 2nd question: is there possible to submit this model to a pipe line
> processor, apply some rules on it and then post the final response to the
> particular J2EE servlet.
>
>
> Thank you,
> Alexandru
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws