on 11-09-2009 11:29 AM
Hi,
Outline: I'm trying to call a synchronous BPM from an asynchronous BPM in a PI 7.0 SP 14 system.
When doing so i get the following error: Object CL_SWF_XI_MSG_BROKER method SEND_SYNCHRON cannot be executed.
Now this is an oldie when searching the forums for this error message. I do however fail to see a solution to the problem.
Note that the following notes (referred to in similar posts)
- 710445
- 718734
- 830803
are implemented since theese refer to older versions of PI.
My scenario is very simple at present since i've startet from scratch again after getting the error. So what i do is:
1) send async message to async BPM
2) async BPM receives request
3) async bpm transform request til sync_request.
4) async BPM calls synchronous BPM
5) sync BPM receives request and opens a async/sync bridge
6) sync BPM maps request to response
7) sync BPM sends response and closes async/sync bridge
😎 async BPM reveices sync_response
9) async BPM sends sync_response to some application
Now step 8 i never succesfully executed. Instead the error earlier described is triggered.
For simplicity i use 1 and only 1 message type in all message interfaces. I have mapping between my synchronous interfaces outside of BPM.
The synchronus BPM is executed just fine. The only issue is getting the reponse back to the asynchronous BPM.
I am familiar with the following similar posts:
but find them to be of no use.
Hope someone can help.
Best Regards,
Daniel
Implementing SAP note 1246527 (BPE-RUN: Synchronous send fails if receiver is process) solved the problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
First you do not need any bridges if it is asyn/sync kind of a scenario in the second BPM. You need a bridge when the bpm has to wait with a sync call coming in and response in an async call. Essentially your BPMs (I donno why you need 2.. but let us go with 2)
>
>
> 1) send async message to async BPM
> 2) async BPM receives request
> 3) async bpm transform request til sync_request.
> 4) async BPM calls synchronous BPM
> 5) sync BPM receives request
(Remove this if you are calling a sync system here) and opens a async/sync bridge
> 6) sync BPM maps request to response
> 7) sync BPM sends response
Remove this and closes async/sync bridge
> 😎 async BPM reveices sync_response
> 9) async BPM sends sync_response to some application
>
VJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Really, as previously statet this is a simplified scenario to test my real world scenario. Im not using a async/sync bridge but a sync/async bridge in the synchronous BPM also as previously statet:-) So this means in my "real" scenario lots of more actions take place than described here.
Please dont worry bout the lag of logic in what I described here, but focus on the error i get when trying to perform the synchronous call from the asynchropnous BPM to the synchronous BPM.
For information im corrently having my basis-team try and implement note 1246527. If it solved the issue i will of cause report so when i know:-)
Best Regards,
Daniel
Hi,
If everything is working fine then check with your sender sys parameters and authoriztions....basically Sync/Async bridge helpfull...whn your receiving sys does't have the capability to receive Sync/Async messages....(it converts the calls from Sync to Async and vice versa ) pls study your requirment once again and use proper steps.....hope your scenario will be work.
with rgds,
MFH
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Can you tell why are you implementing usch an interface?
Looking at your steps I dont think you need Sync BPM.....there is nothing special that your Sync BPM is doing.
When you say you open an Async-Sync bridge in the BPM it should mean that you receive an Async request....then BPM makes a Sync call.....then the response is send to the calling system and the call is closed.....however looking at the steps that you have implemented there is no such logic (of Async-Sync) seems to be implemented.
Do have a re-look at your requirement and do modifications accordingly.....also when you send the message back to Async-BPM make sure that a correlation is defined & used properly.
Regards,
Abhishek.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey,
Ok, thought it was clear inj the outline that what i wrote in this post is a simplified scenario whoose sole purpose is to test the problem giving me problems in the "real" scenario.
So, yes, i do need this functionality:-)
And as for the async/synch bridge i mentioned - this is of cause an sync/async bridge instead. My bad for putting it in the wrong order when writing. As i wrote i have an asynchronous BPM and a synchronous BPM. No correlations should be needed in such a scenario.
Hope it clearifies.
Regards,
Daniel
User | Count |
---|---|
94 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.