on 06-01-2012 9:33 AM
Following requirement:
- 3rd party sender=receiver
- sync SOAP interface bt. 3rd party and PI
- Mapping in PI
3rd party is sending a sync SOAP request to PI, PI does some mapping and is sending a response back to 3rd party.
Is there a chance to do this without using BPM or Java Proxy?
cheers
Simon
Simon,
try as below,
1) sender SOAP from 3rd party
2)receiver Proxy call to PI itself - synch call will give responce to third party...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Do you think it's feasible to do this way? Create async scenario as follows ...
Use SOAP(3rd party Req) ->Pi-->SOAP(3rd party response) Basically you use WSDL and import request as sender structure and response as target structure. Use same business component /business service for both source and target systems in ID.
Let me ask few questions...
You really dont have target system. The purpose of middleware tool is to mediate and transform the message from one system to another. Since you dont have target system, What you are planning to achieve by sending the mesg to PI.? If you do some logic during mapping to achieve the requirement then why dont you consider sender request to PI and pi response to sender back again. This is still technically synchronous W.R.T sender system.
So is there no receiver system?
If it is a sync sender to sync receiver call, this is a simple scenario with no BPM.
Can you elaborate more on your requirement?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Shabarish, I am not talking about the most simple scenario with (sender A - PI - receiver B). In such case it is clear that no BPM is required.
Again: 3rd party is sending a SYNC SOAP request to PI, PI does some mapping as is sending a response back to THE SAME 3rd party, see image attached.
I have the feeling that either it is so obvious, and that is why I did not find any hints on the scn yet, or a simple way is not possible.
best
simon
Hello Simon,
I really do not understand the purpose such scenario. Is the mapping program doing something fancy which is not possible in source system (SOAP Sender Application system)?
I think in your scenario synchronous behavior is mandate. otherwise, you can follow Baskar's solution (in async fashion)
I am just thinking of this possibility without using any BPM and Proxy if you still want do it in synchronous way.
SOAP Sender (3rd party) ----Sync--> SAP XI/PI (mapping req & res) ---Sync--> RFC (RFC within XI system)
You can use RFC (BAPI remote enabled within XI e.g., my favorite BAPI_BANK_GETDETAIL, it has two inputs COUNTRY AND KEY). During Request, map some dummy values to request. e.g., IND for COUNTRY and 99 for KEY. For these values the BAPI returns an exception in return structure as response.
Now you will have a question still in your mind, How do I transform my original message and get response back (as we have not mapped orginal input message to BAPI input)????????
Use my blog concept: http://scn.sap.com/people/praveen.gujjeti/blog/2010/03/04/usage-of-dynamic-configuration-in-synchron...
Note:- you can also use a BAPI by exposing it as a webservice instead of using it as RFC. Search SDN for further help.
Regards,
Praveen Gujjeti
Dear Praveen,
Thank you, though ABAP RFC (I already thought of that), WS encapsulated or not, is not an option in this case, as I explicitely do not want to use ABAP Stack. One reason for that is, in a couple of years if PI will not necessarily come with ABAP Stack, I will have to migrate the interfaces. No need for extra work.
As for your understanding of the scenario, well there are a lot of customer requirements out there, they result in a lots different scenarios, you might have not come across yet. I will not elaborate the reasons here, just say, be open to new challenges...
cheers
simon
Hi Szymon,
I have some doubts about the general purpose and design of the interface. Since there is no receiver system, I can see two possibilities:
1. You only want to send data to PI to do some XML manipulation. In this case, why not implement it directly in the sender system?
2. You want to send data to PI and the "main reason" is to call some functionality like RFC Lookup during mapping. In this case, you might implement it as SOAP to RFC sync scenario, where PI itself is the receiver system. I mean, call the RFC as the receiver, not as a lookup.
Or is there any other possibility that I didn't think of?
Regards,
Greg
Hello Szymon,
Well, honestly I have not encountered such scenario requirements yet, but I am always ready for such new challenges The more you give information about your requirement, the more likely you will get nice solutions from forum members
I am seeing one more possiblity like this ( dont the thing that it is the same solution as my previous reply). Scenario will be
SOAP --Sync--> XI (possibly at least one more mapping for standard RFC) --Sync--> RFC Again????. But this time you will be using RFC receiver adapter to call the mapping program directly. For this, you need to understand how XI calls mapping program during mapping pipeline stage using FM, standard RFC destination & JCO calls. Please search forum for detroubulator tool (and couple blogs & help) which basically works on this concept.
Since you are also looking for a final portability solution which should even work with PI new versions (no ABAP stack), you need to understand the java pipeline definitions in new PI7.1 and later versions. Meaning how mapping program will be called in Integrated configurations or in direct connections.
I will try to post a blog on this if I get time for this R & D.
Best Regards,
Praveen Gujjeti
Message was edited by: Praveen Gujjeti
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
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.