Problem to fire a submission or refresh a control with Websphere

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem to fire a submission or refresh a control with Websphere

Olivier Thery
Hello,

My application (ops 3.5.1.20070508) works well with Tomcat 5.5.12 and Websphere 5.1.1.13, except for firing a submission (and refreshing the control related to) in Websphere.

The main view has 3 select1 controls to filter parameter before querying a database. When I select a plan (first select1 control), only programs and projects of this plan must be displayed respectively in the second and the third select1 controls.

The filtering is made by firing a submission on an "xforms-value-changed" event in the first select1 control to replace the instance related to the second select1 control. And so on.

The submission call a xpl pipeline to retrieve items froms database and to add an item ("all programs" or "all projects") in the fisrt position. The result is serialized in a "view" which replace the instance related to the control to refresh.

See the code below.

In Websphere, the submission seems to be not fired : the instance is not replaced and the control is not refreshed.

Any idea ?

Here are the 3 select1 control :

<xforms:group ref="instance('params-instance')" appearance="xxforms:fieldset">
        <xforms:label>Sélection d'un projet</xforms:label>
            <xhtml:table border="0" cellpadding="2" cellspacing="0">
                <xhtml:tr>
                <xhtml:td align="left">
                <xforms:select1 ref="query-param/plan" appearance="minimal" navindex="1">
            <xforms:label class="fixed-width">Plan :</xforms:label>
                            <xforms:itemset nodeset="instance('plans-instance')/plan">
                                <xforms:label ref="lib"/>
                                <xforms:value ref="@code"/>
                            </xforms:itemset>
                            <xforms:action ev:event="xforms-value-changed">
                            <xforms:send submission="maj-prog-selected-submission"/>                  
                            </xforms:action>
                    </xforms:select1>
                    </xhtml:td>
                                </xhtml:tr>
                                <xhtml:tr>
                <xhtml:td align="left">
                <xforms:select1 ref="query-param/prog" appearance="minimal" navindex="2">
                            <xforms:label class="fixed-width">Programme :</xforms:label>
                            <xforms:itemset nodeset="instance('progs-selected-instance')/prog">
                              <xforms:label ref="lib"/>
                                <xforms:value ref="@code"/>
                            </xforms:itemset>
                            <xforms:action ev:event="xforms-value-changed">
                            <xforms:send submission="maj-proj-selected-submission"/>                        
                            </xforms:action>
                    </xforms:select1>
                    </xhtml:td>
                                </xhtml:tr>
                <xhtml:tr>
                <xhtml:td align="left">
                <xforms:select1 ref="query-param/projet" appearance="minimal" navindex="4">
                <xforms:label class="fixed-width">Projet :</xforms:label>
                <xforms:alert>Sélectionnez un projet dans la liste</xforms:alert>
                       
                            <xforms:itemset nodeset="instance('projets-selected-instance')/projet">
                            <xforms:label ref="lib"/>
                                <xforms:value ref="@code"/>
                            </xforms:itemset>
                        </xforms:select1>
                     </xhtml:td>
                </xhtml:tr>
                <xhtml:tr>
                <xhtml:td align="left">
                <xforms:select1 ref="query-param/planning" appearance="full" navindex="5">
                            <xforms:label class="fixed-width">Planning(s) associé(s):</xforms:label>
                            <xforms:item>
                                                                <xforms:label>Tous les plannings associés</xforms:label>
                                                                <xforms:value>all</xforms:value>
                                                        </xforms:item>
                                                        <xforms:item>
                                                                <xforms:label>Sélection dans la liste ci-dessous</xforms:label>
                                                                <xforms:value>several</xforms:value>
                                                        </xforms:item>
                                                        <xforms:action ev:event="xforms-value-changed">
                                                                <xforms:setvalue ref="instance('params-instance')/query-param/planning-selection"
                            value="''"/>                          
                            </xforms:action>
                    </xforms:select1>
                    </xhtml:td>
                 </xhtml:tr>
             </xhtml:table>
        </xforms:group>

Here are the submission

<xforms:submission id="maj-prog-selected-submission"
            ref="instance('params-instance')"
                method="post" action="/suivi-proj/services/maj-prog-selected"
                validate="false"
                replace="instance" instance="progs-selected-instance">
            <xforms:action ev:event="xforms-submit-done">
                <xforms:setvalue ref="instance('params-instance')/query-param/prog"
                            value="if (instance('progs-selected-instance')/prog)
                    then instance('progs-selected-instance')/prog[1]/@code
                    else ''"/>
                <xforms:send submission="maj-proj-selected-submission"/>
  </xforms:action>
           </xforms:submission>
               
           <xforms:submission id="maj-proj-selected-submission"
            ref="instance('params-instance')"
                method="post" action="/suivi-proj/services/maj-proj-selected"
                validate="false"
                replace="instance" instance="projets-selected-instance">
            <xforms:action ev:event="xforms-submit-done">
                <xforms:setvalue ref="instance('params-instance')/query-param/projet"
                            value="if (instance('projets-selected-instance')/projet)
                    then instance('projets-selected-instance')/projet[1]/@code
                    else ''"/>
  </xforms:action>
           </xforms:submission>

Here are the 2 xpl pipelines

<!-- ========== Services ========== -->
       
        <page id="maj-prog-selected" path-info="/suivi-proj/services/maj-prog-selected"
                view="../ragtime/services/maj-prog-selected.xpl"/>
               
        <page id="maj-proj-selected" path-info="/suivi-proj/services/maj-proj-selected"
                view="../ragtime/services/maj-proj-selected.xpl"/>




--
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
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem to fire a submission or refresh a control with Websphere

Erik Bruchez
Administrator
Olivier,

You can try at least two things:

* Try to disable optimized submissions in properties.xml with:

   <property as="xs:boolean"
             name="oxf.xforms.optimize-local-submission"
             value="false"/>

* Enable XForms logging and try to see if that shows more about why the
   submission is failing:

     http://www.orbeon.com/ops/doc/reference-xforms-2#xforms-logging

-Erik

> Hello,
>
> My application (ops 3.5.1.20070508) works well with Tomcat 5.5.12 and Websphere 5.1.1.13, except for firing a submission (and refreshing the control related to) in Websphere.
>
> The main view has 3 select1 controls to filter parameter before querying a database. When I select a plan (first select1 control), only programs and projects of this plan must be displayed respectively in the second and the third select1 controls.
>
> The filtering is made by firing a submission on an "xforms-value-changed" event in the first select1 control to replace the instance related to the second select1 control. And so on.
>
> The submission call a xpl pipeline to retrieve items froms database and to add an item ("all programs" or "all projects") in the fisrt position. The result is serialized in a "view" which replace the instance related to the control to refresh.
>
> See the code below.
>
> In Websphere, the submission seems to be not fired : the instance is not replaced and the control is not refreshed.
>
> Any idea ?
>
> Here are the 3 select1 control :
>
> <xforms:group ref="instance('params-instance')" appearance="xxforms:fieldset">
>         <xforms:label>Sélection d'un projet</xforms:label>
>             <xhtml:table border="0" cellpadding="2" cellspacing="0">
>                 <xhtml:tr>
>                 <xhtml:td align="left">
>                 <xforms:select1 ref="query-param/plan" appearance="minimal" navindex="1">
>             <xforms:label class="fixed-width">Plan :</xforms:label>
>                             <xforms:itemset nodeset="instance('plans-instance')/plan">
>                                 <xforms:label ref="lib"/>
>                                 <xforms:value ref="@code"/>
>                             </xforms:itemset>
>                             <xforms:action ev:event="xforms-value-changed">
>                             <xforms:send submission="maj-prog-selected-submission"/>                  
>                             </xforms:action>
>                     </xforms:select1>
>                     </xhtml:td>
> </xhtml:tr>
> <xhtml:tr>
>                 <xhtml:td align="left">
>                 <xforms:select1 ref="query-param/prog" appearance="minimal" navindex="2">
>                             <xforms:label class="fixed-width">Programme :</xforms:label>
>                             <xforms:itemset nodeset="instance('progs-selected-instance')/prog">
>                               <xforms:label ref="lib"/>
>                                 <xforms:value ref="@code"/>
>                             </xforms:itemset>
>                             <xforms:action ev:event="xforms-value-changed">
>                             <xforms:send submission="maj-proj-selected-submission"/>                        
>                             </xforms:action>
>                     </xforms:select1>
>                     </xhtml:td>
> </xhtml:tr>
>                 <xhtml:tr>
>                 <xhtml:td align="left">
>                 <xforms:select1 ref="query-param/projet" appearance="minimal" navindex="4">
>                 <xforms:label class="fixed-width">Projet :</xforms:label>
>                 <xforms:alert>Sélectionnez un projet dans la liste</xforms:alert>
>                        
>                             <xforms:itemset nodeset="instance('projets-selected-instance')/projet">
>                             <xforms:label ref="lib"/>
>                                 <xforms:value ref="@code"/>
>                             </xforms:itemset>
>                         </xforms:select1>
>                      </xhtml:td>
>                 </xhtml:tr>
>                 <xhtml:tr>
>                 <xhtml:td align="left">
>                 <xforms:select1 ref="query-param/planning" appearance="full" navindex="5">
>                             <xforms:label class="fixed-width">Planning(s) associé(s):</xforms:label>
>                             <xforms:item>
> <xforms:label>Tous les plannings associés</xforms:label>
> <xforms:value>all</xforms:value>
> </xforms:item>
> <xforms:item>
> <xforms:label>Sélection dans la liste ci-dessous</xforms:label>
> <xforms:value>several</xforms:value>
> </xforms:item>
> <xforms:action ev:event="xforms-value-changed">
> <xforms:setvalue ref="instance('params-instance')/query-param/planning-selection"
>                             value="''"/>                          
>                             </xforms:action>
>                     </xforms:select1>
>                     </xhtml:td>
>                  </xhtml:tr>
>              </xhtml:table>
>         </xforms:group>
>
> Here are the submission
>
> <xforms:submission id="maj-prog-selected-submission"
>             ref="instance('params-instance')"
>                 method="post" action="/suivi-proj/services/maj-prog-selected"
>                 validate="false"
>                 replace="instance" instance="progs-selected-instance">
>             <xforms:action ev:event="xforms-submit-done">
>                 <xforms:setvalue ref="instance('params-instance')/query-param/prog"
>                             value="if (instance('progs-selected-instance')/prog)
>                     then instance('progs-selected-instance')/prog[1]/@code
>                     else ''"/>
>                 <xforms:send submission="maj-proj-selected-submission"/>
>   </xforms:action>
>            </xforms:submission>
>                
>            <xforms:submission id="maj-proj-selected-submission"
>             ref="instance('params-instance')"
>                 method="post" action="/suivi-proj/services/maj-proj-selected"
>                 validate="false"
>                 replace="instance" instance="projets-selected-instance">
>             <xforms:action ev:event="xforms-submit-done">
>                 <xforms:setvalue ref="instance('params-instance')/query-param/projet"
>                             value="if (instance('projets-selected-instance')/projet)
>                     then instance('projets-selected-instance')/projet[1]/@code
>                     else ''"/>
>   </xforms:action>
>            </xforms:submission>
>
> Here are the 2 xpl pipelines
>
> <!-- ========== Services ========== -->
>
> <page id="maj-prog-selected" path-info="/suivi-proj/services/maj-prog-selected"
> view="../ragtime/services/maj-prog-selected.xpl"/>
>
> <page id="maj-proj-selected" path-info="/suivi-proj/services/maj-proj-selected"
> view="../ragtime/services/maj-proj-selected.xpl"/>
>
>

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
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
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Problem to fire a submission or refresh a control with Websphere

Olivier Thery
Thanks Erik,

I enabled Xforms logging and I could see that the problem was a bad URL.

I was working with an URL not declared in the DNS. So I added it in the Host file in my computer (something like : my.url.in.my.company   10.20.46.96).

The first call from my computer to the server hosting my application worked fine, and the submission which didn't work used the same url, but the server had not the host file to translate this url in IP address, so this url was unknown.

Olivier.



--
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
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws