This discussion is archived
2 Replies Latest reply: Jan 1, 2013 12:02 AM by 982311 RSS

Siebel Webservice - Asynchronous transactions

947421 Newbie
Currently Being Moderated
Hi,

Here is my problem statement:

1. I have integrated two webservices say O - outbound webservice and I - Inbound webservice in siebel 8.1. Integrated with external application ExApp.
2. User need to click on submit button , then few fields from UI will be sent to external application using outbound webservice. When siebel sends request, in response it receives acknowledgement only with few fields as WSMsgHeader.
3. The actual response to the request is sent later on Inbound webservice by external application.
4. As soon as the response is recieved, it should be shown to the user.
5. In case response is not recieved in 3 mins then, show time out msg to user.
6. For user the transaction is still synchronous and will be waiting for response on form applet.
6. P.S. MsgIds are present to track request and its response



Now we are struggling to design this in Siebel.
1. How can I wait for a specific response?
2. As soon as a specific response is recieved for a sent request, how to update UI at very same time?
3. How to understand that no response recieved?
4. In any case the wait time has to be minimum.

Please note, continuously querying table for response is not a acceptable design for us because it will have performance issue.

Please suggest design for above.

Regards,
Neelima

Edited by: NeelimaK on Nov 20, 2012 5:10 AM
  • 1. Re: Siebel Webservice - Asynchronous transactions
    947421 Newbie
    Currently Being Moderated
    Can someone help on this ASAP?
  • 2. Re: Siebel Webservice - Asynchronous transactions
    982311 Newbie
    Currently Being Moderated
    Hey Neelima,

    I think below solution will solve your problem. You have to create 2 workflows,

    WF1:
    Step1: Call that Web service
    Step2: In the response operation, add one more step which will update one new flag for "RESPONSE_RECEIVED" (This will indicate whether WS has got the response or not)
    Step3: Update UI for response received.


    WF2:
    Step1: Call WF1 in async mode
    Step2: Wait for 3 min (Workflow utilities wait step)
    Step3(Decision step): Check the "RESPONSE_RECEIVED" flag. If it is unset, means response not yet received show time out and if it is set, means already got the response do nothing.

    From your logic call WF2 in async mode.

    Edited by: 979308 on Dec 31, 2012 11:58 PM

    Edited by: 979308 on Jan 1, 2013 12:02 AM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points