async command button multiple actions


I dragged some services from IS to a .view page and i’m trying to set up only 1 refresh button. Is that possible ? If so how can i do it?


I found a way to do it

In bindings created a new action and inside that action i’ve put all the actions a i wanted. Then binded that new action to the async button action.

However it didint solve my problem… i wanted the services to load independent from eachother and whats hapening is that they load all together… for ex: service 1 takes 5 secs to load and service 2 takes 10
I want that service 1 load 1st than service 2, not both at same time.

If you want two separate requests to go to the server, and each request to invoke a webservice you could use the following approach:

  • Create an Async Command Button for the first action, and an Async Hidden Command for the second action
  • Add an Invoke Script to the CmdButton
  • Have the InvokeScript raise the HiddenCommand on the OnClick event.

Hope this helps,

<control component-type='com.webmethods.caf.faces.command.async.Button' renderer-type='com.webmethods.caf.faces.command.async.Button'>
  <property name='action' value='#&#123;activePageBean.actionOne}' />
  <property name='id' value='button' />
  <property name='value' value='Action One' />
  <control component-type='com.webmethods.caf.faces.component.script.InvokeClientScript' renderer-type='com.webmethods.caf.faces.render.html.script.InvokeClientScriptRenderer'>
    <property name='action' value='raise' />
    <property name='control' value='defaultForm:hiddenCommand' />
    <property name='event' value='onclick' />
    <property name='id' value='invokeClientScript' />
<control component-type='com.webmethods.caf.faces.command.async.Hidden' renderer-type='com.webmethods.caf.faces.command.async.Hidden'>
  <property name='action' value='#&#123;activePageBean.actionTwo}' />
  <property name='id' value='hiddenCommand' />

Yes it helped.