on 06-02-2008 6:23 AM
Hi Experts,
Scenario : SOAP Client -> Call Microsoft webservice -> XI JDBC Sync call-> Call Microsoft webservice.
BPM Steps:
1. Receive Step -> Get the SOAP Client request (Open S/A Bridge)
2. Send Step -> Async call to Microsoft webservice to update the log status.
3. Send Step -> Sync call to JDBC
5. Send Step -> Close the S/A bridge
6. Send Step -> Call the Microsoft webservice to update the log status.
Receiver Determination Steps
1. SOAP Sender to BPM
2. BPM(Async request) to 2 Log Business Service. I have mentioned the both business service under Configured Receivers section in Receiver Determination.
3. BPM(Sync request) to JDBC
Issue : The JDBC part works fine. Only problem with the Microsoft webservice. Twice it update the log table. ie. Twice it calls the Microsoft's each webservice.
Please help me out, how to stop the second retry and let me know the above approach is correct or not.
Thanks & Regards
Sara
Hi,
You are trying with Sync/Async bridge for JDBC to Webservice call,
But if you se u are calling the Webservice twice (Point 2 and 6). That makes it to add duplicate entries.
Refer below steps
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - Use of Synch - Asynch bridge in ccBPM
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] - Use of Synch - Asynch bridge in ccBPM
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,
Initially I was calling only first Microsoft service, that time I didn't face any duplicate issue. I started getting the duplicate error, when I added the second Microsoft webservice call. Only after the JDBC call, I have to call the second Microsoft call but I don't it perform the operation in that order.
Please help me to solve the issue.
Regards
Sara
Hi Sara,
1. If you need to call the Logging service before and after JDBC call then you need to confirm about the 1st call before the Closing step of Sync/Async bridge.
2. This close step will be closing the Synchronous Webservice, but when you will again call logging Service at that time you are not using the Close step of sync/Async bridge. But Webservice is synchronous so it will fail on the second log due to response failure..
3. Add one more Sync/async send step to close the opened bridge.
Thanks
swarup
Hi,
The time taken for JDBC sync call might be very less in between the two microsofts webservice Asyn calls.
Try to insert a delay step inbetween the last two steps in your BPM(step5 & step6) if it is really required in your scenario.
Thanks,
Gujjeti
Edited by: Praveen Gujjeti on Jun 2, 2008 8:14 AM
Hi Swarup,
I couldn't add one more Sync/Async. Earlier I was calling the Second microsoft webservice before closing the bridge. But, I was getting the same issue. Just tried to call the webservice after the Closing the bridge..Still getting the same issue.
Ok Gujjeti, I'll check with wait.
Regards
Sara
Hi Sara,
As per your info, Earlier you was trying to call both logging updates under one Sync/Async Bridge. But on Webservice side it will give you two responses and you will handling only one.
In later case also you are handling only 1st response of Webservice call, but the another call is still open.
Actually you are trying to built two Sync/Async Birdges. Which is not at all possible under one BPM.
SAP have not recommended for it.
Refer
http://help.sap.com/saphelp_nw04/helpdata/en/43/65d4dab39b0398e10000000a1553f6/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
You need to create two seperate interfaces for this.
For e.g.
1st will call the Webservice before updating the JDBC tables.
2nd After updating the JDBC table you can again call the Webservice for updated logging status.
Thanks
Swarup
Edited by: Swarup Sawant on Jun 2, 2008 8:50 AM
Hi Swarup,
The Microsoft log service is one way service, so I am calling as an asynchronous service. Now I have moved both log services inside the bridge.
I didn't do any changes with the interfaces and services, because have created the same way. Created two message interface, Business Service and communication channel. Same service call with different namings.
In the Receiver Determination If add one more log service it creates duplicate entries.
2 logs - 4 entries ( 2 duplicate entries)
3 logs - 6 entries ( 3 duplicate entries) like so.
So, I have a doubt with my BPM flow and the receiver determination. Is it possible to create one more BPM request.
Receiver Determination steps
1. SOAP client request -> BPM
2. BPM Sync request -> JDBC Sync
3. BPM Async request -> Log1 service, Log 2 Service . Here is it possible to create two Async BPM request? So, that I can have 1:1(Sender:Receiver) mapping instead of 1:2 mapping .
Please share your suggestions.
Regards
Sara
Hi Sara,
BPM(Async request) to 2 Log Business Service. I have mentioned the both business service under Configured Receivers section in Receiver Determination.
As per your Scenario
SOAP Client -> Call Microsoft webservice -> XI JDBC Sync call-> Call Microsoft webservice.
you are callling the two Bussiness services using only one Receiver determination (using some condition) .
May be the case both the conditions are getting satishfied at run time so it is calling them at a time.
But as u said in scenario, u again have to call Web service after JDBC call,
I do not see any step where you are calling Web service after JDBC call.
Reward Points if Helpful
Thanks
Sunil Singh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.