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
8) async BPM reveices sync_response
9) async BPM sends sync_response to some application
Call sync BPM from Async BPM - issue
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:
- https://forums.sdn.sap.com/thread.jspa?threadID=197127
- https://forums.sdn.sap.com/thread.jspa?threadID=592449
but find them to be of no use.
Hope someone can help.
Ans:
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.
Ans1:
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.
Ans2:
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.
------------
This is all internal workflow communication: 1 BPM calls another. Thus I dont believe authorizations are relevant here.
------------
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)
{quote:title=Daniel Hans Engsig-Karup wrote:}
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
7) sync BPM sends response
Remove this and closes async/sync bridge
9) async BPM sends sync_response to some application
-------------
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:-)
----
Implementing SAP note 1246527 (BPE-RUN: Synchronous send fails if receiver is process) solved the problem.