on 08-24-2009 6:42 AM
Hi ,
I have a simple scenario where we send data synchronously via webservices. The message is asynchronously written as a file using a different format .
The output file is read asynchronously and sent as a synchronous response to this web service. Sync - async bridge is used.
I want to create a receive step , to receive the ws input . But I cannot add this sync request interface as a container element.
Is there any reason behind this ? If sync interfaces cannot be added as container elements , is sync interfaces not allowed in ccBPM ?
I am sure I lack some understanding here ,Would be glad if someone could help me get some clarity.
Thanks
Bharathwaj
Hi,
In this case you need to take Async Abstract interface as Container element. It will help you to handle both request and response with combination of Sync/Async Send/receive steps.
With Abstract sync interface you will not be able to handle the response individually, thus its not allowed.
Thanks
Swarup
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Swarup ,
Thats exactly my query... The documentation suggests to use the async interface which is similar to the request message of the sync interface. In case the structures dont match , what is the solution.
Also ,
>
> With Abstract sync interface you will not be able to handle the response individually, thus its not allowed.
> Swarup
Could you please explain why it is so.? Or rather , why do we have "Mode" options to receive message asynchornously or open an S/A bridge. Shouldn't there be a Synchornous "Mode" ?
Thanks and Regards
Bharath
Edited by: Bharathwaj on Aug 24, 2009 11:42 AM
Hi,
In sync/Async bridge you will get the request data into the workflow and then with usage of co-relation Id you will link request and response messages.
Thus you must have same structure of request side and Async abstract interface. Later on you can add one transformation step to deal with different structure but to initiate the BPM you must need same structure.
It is required to get the input messages in Workflow without any changes.
Also if you have Synchronous Abstract interface then how you will be able to treat both request/response messages individually. Both will be always link and you will not be able to use AsyncSend step to send the Async message on receiver side.
PS Note : Under SyncSend step you will map the response with the use of corelation ID for the synchronous Sender system.
If you carefully observed all the steps in sync/Async bridge then you will realize the scope of it.
Thanks
Swarup
Hi Swarup,
2 more questions
Based on your reply I understand that , we cannot use sync interfaces inside ccBPM and would always require a Async interface of the similar req or resp structure for this.
And again , for synchronous interfaces why cant we treat the req / response individually . Here we are just telling which structure to use for receiving. Why cant be opted from the selected service interface itself.
Hope I am not running in circles here.
Thanks again for the help
Bharathwaj
Hi,
Based on your reply I understand that , we cannot use sync interfaces inside ccBPM and would always require a Async interface of the similar req or resp structure for this.
--> Yes.
And again , for synchronous interfaces why cant we treat the req / response individually . Here we are just telling which structure to use for receiving. Why cant be opted from the selected service interface itself.
--> For Sync scenario, the Corelation of request and response will get mapped by default. In sync scenario, it will be in wait position unless the response will not come back. And the response will be passed via same communication channel.
In case of sync/Async bridge you need to externally tell to map the Response with valid corelation ID due to different communication channels.
If you have observed the adapter modules used with JMS for bridge, there you need to use Map with corelation ID becuase JMS are by default in async state and need to be mapped externally.
I hope this will clarify your doubts
Thanks
Swarup
Edited by: Swarup Sawant on Aug 24, 2009 9:58 AM
Hi..
Follow the below link to do synchronous scenario using BPM.
Regards,
Leela
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As request and response mappings get executing if we use sync interfaces
i.e Input --- Ws Input
WsResponse -- Output
Did you define the Abstract message type for the same ?
also need to use the transfomration for doing the mapping for sync interfaces in BPM...
receive can only receive the input in BPM..i.e receive step is trigger for the BPM process and then after does the processings
receive step is used only for receiving data and not for anything
Rajesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
>>>But I cannot add this sync request interface as a container element.
did you create it as abstract ?
Regards,
Michal Krawczyk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.