cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc (async) -> soap (sync) -> file (async)

Former Member
0 Kudos

Hi.

I have a flow from idoc (async) to webservice (soap sync) and I want the response from soap to be written in file (async).

I want to do this without BPM and I have read some posts about using modules RequestResponseBean and ResponseOnewayBean.

Can someone help me with this step by step.

I have in ESR a OM that is async because of the outbound Idoc. Do I need a sync OM for the soap call and another async OM for the response to the file.

Where do I need to put the modules? In the SOAP receiver?

I know there are some threads that cover some of this but I couldn't find any that cover the whole of my issue step by step.

Regards,

Hjortur

Accepted Solutions (1)

Accepted Solutions (1)

Shabarish_Nair
Active Contributor
0 Kudos

you can base your design based on this - http://wiki.sdn.sap.com/wiki/display/XI/UsingRequestResponseBeanModuleinFILE+Adapter

Answers (2)

Answers (2)

Former Member
0 Kudos

Shabarish, thanks for your link, it helped understand the scenario.

Baskar, I tried to use Idoc sender but module tab is DISABLED there.

So I'm still confused where to put the module defenitions.

According to this thread they put the modules in the receiver JMS adapter. (JMS is the sync part in their example)

Shiladitya, I'm not using BPM.

Regards,

Hjörtur

Former Member
0 Kudos

Hi,

The module tab in the sender Idoc is disabled as the Idoc adapter lies in the Abap stack of the PI Integration Server.

As I have already mentioned, due to this, you can not use any modules with the sender Idoc adapter, hence you would not be able to use the RequestResponse bean in your scenario.

This is because to use this beann, you need to add a few modules in your sender adapter, which you can not do since sender for you is Idoc.

Hope this helps

Regards

Former Member
0 Kudos

So you are telling me that this can not be done without BPM?

Former Member
0 Kudos

Yes you would need a BPM so that you can get back the SOAP response and write it as a file.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

In your case, suggestion given by my earlier reply would not help. You have to go for asyn/sync bridge with bpm. Dont see other option.

I might give one option without doing BPM. But that design might have maintanence issues.

sender Idoc ---> SOAP lookup using UDF in mapping ---> File Receiver

The logging trace for soap lookup would not be fully feasible... if your soap call is too simple, you might want to try that option.

Refer this link

/people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Yes doing async to sync is possible without bpm. YOu already got the design solution.

>Where do I need to put the modules? In the SOAP receiver?

Sender Channel. In your case you might not need channel for idoc but for this configuration you might need to create one. That is my guess.

In the module section sequence as follows

1) AF_Modules/RequestResponseBean   Type:  Local Enterprise Bean    Module key   1
2) CallSapAdapter                Type Local Enterprise Bean    Module Key 2
3) AF_Modules/ResponseOnewayBean     Type Local Enterprise Bean  Module Key   3

Plus follow the link given by shabarish as reference.

Former Member
0 Kudos

Hi,

You would not be able to use the RequestResponse bean in your scenario as in your case, sender is Idoc and as Idoc adapter lies in the Abap stack, you would not be able to use any module in the Idoc sender comm channel.

Suggest you go for a BPM using async/sync bridge.

Regards