cancel
Showing results for 
Search instead for 
Did you mean: 

xml to Idoc scenario

Former Member
0 Kudos

Hi Gurus,

I got an interface

3rd party application<- PI<- sap

3rd party app->PI->SAP

1)PI has to perform HTTP get for every half an hour to send the request to 3rd party application and get the response in xml format into XI

2)PI has to transform the xml document to Idoc and post the idocs in SAP system.

3)If the errors occured while posting raise alerts...

Please tell me if Im wrong.

to achieve 1st objective

I m using client proxies to send the message request from sap to PI which will send the request to the 3rd party application using HTTP adapter.Outbound Interface and Inbound interface is synchronous in this case

The response is coming from 3rd party application in xml format and sent to SAP where the xml is converted to ABAP objects

to achieve 2nd objective

I developed interface to map xml document to idoc and post in sap system.

im using sender soap adapter with asynchrous interface and idoc receiver adapter.

im defining the webservice in PI and calling the webservice from SAP system in the ABAP report.

Can you please tell if there is any alternate solution for linking this 1 and 2 interface as a whole.

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

1)PI has to perform HTTP get for every half an hour to send the request to 3rd party application and get the response in xml format into XI

This can be achieved using the Sender SOAP Axis Adapter see SAP Note 1039369 - FAQ Axis Adapter section 36.

Can I periodically call some HTTP service and use its response to call the sender channel?

Yes. This can be achieved using the com.sap.aii.adapter.axis.ra.transport.http.HTTPGetter Receiver task. This task calls the specified URL using the GET request and its response is sent to the sender channel. The scheduling parameters can be set in the channel to specify the periodic triggering of the request. See a sample configuration of periodically calling a REST based GET service. For the availability of this feature, refer to Note 1448849.

2)PI has to transform the xml document to Idoc and post the idocs in SAP system.

Yup, you need message mapping for this one and Idoc receiver

3)If the errors occured while posting raise alerts...

Use XI alerting framework.

Hope this helps,

Mark

Answers (1)

Answers (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

You can combine the first and second using one scenario as follows.. Use async sync pattern to achieve this.

Example: use Client proxy (async) --> PI --> SOAP Reciever (web service sync) -->soap response --> IDOC (async)

This can be achieved without BPM or with BPM

Without BPM: You can try request response bean and one way response bean module.

Use this [link|http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File(Without%20BPM)]. The link says file to rfc to file. You can convert to proxy to soap to idoc.

With Bpm: search sdn for async sync with bpm

Hope that helps

Former Member
0 Kudos

Hi Bhaskar,

use Client proxy (async) --> PI --> SOAP Reciever (web service sync) -->soap response --> IDOC (async)

1)I will use sender asynchrous interface to trigger the clent proxy and receiver interface is synhronous to call the webservice

so the http response will go to SAP PI in the format of batch xml file.The batch file should be split into individeual files and we have to use the fix values here to convert the values...if the value is BX then we have to post as BOX before posting the idoc..

But the requirement is data conversion which is possible in PI using fix values has to be done in the sap system.

and then the converted data should be posted in form of idocs...

How can i achieve this 1st one...

2)If Im using fix values in PI and used the mapping to convert to Idoc,I will use asynchronous interface to post the idocs using idoc adapter....

but where should i use the response bean,in which adapter i have to use ???

Can you please explain me the two options in detail