Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

3rd party - inbound XML processing

Former Member
0 Likes
1,059

Hi,

A 3rd party will be sending our system XML information periodically, and I would like to create an interface for this.

How would I go about creating this interface? Do I use BAPi's to call my function module? Or can I use a web service that will call a function module when the 3rd party goes to the URL?

Any help would be appreciated!

Thanks!

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
961

Hi Joe,

Do I use BAPi's to call my function module?

This depends on the capability of the 3rd party system who is going to send the XML information, is the third party system capable of calling an RFC in an SAP system?

can I use a web service that will call a function module when the 3rd party goes to the URL?

Again, if the third party system is capable of invoking a web service, then it is preferred(depending on data volume etc) that you choose web service over RFC. You can create an RFC and then expose it as a web service.

I guess if you can provide more information like, what kind of business data is being sent from the 3rd party system, along with information like frequency, data volume, is there a middleware etc...you will get more concrete design ideas/solutions.

Regards,

Chen

5 REPLIES 5
Read only

Former Member
0 Likes
962

Hi Joe,

Do I use BAPi's to call my function module?

This depends on the capability of the 3rd party system who is going to send the XML information, is the third party system capable of calling an RFC in an SAP system?

can I use a web service that will call a function module when the 3rd party goes to the URL?

Again, if the third party system is capable of invoking a web service, then it is preferred(depending on data volume etc) that you choose web service over RFC. You can create an RFC and then expose it as a web service.

I guess if you can provide more information like, what kind of business data is being sent from the 3rd party system, along with information like frequency, data volume, is there a middleware etc...you will get more concrete design ideas/solutions.

Regards,

Chen

Read only

0 Likes
961

Hi Chen, thanks for the quick response!

is the third party system capable of calling an RFC in an SAP system?

The 3rd party is not an SAP system, and usually uses a SOAP request to connect to other systems. I guess that is kind of my question, how would I know if a system is capable of calling an RFC in an SAP system if they aren't using SAP?

I guess if you can provide more information like, what kind of business data is being sent from the 3rd party system, along with information like frequency, data volume, is there a middleware etc...you will get more concrete design ideas/solutions.

The data being sent is a small XML file that will probably be sent a few times a day. No middleware is involved....

I was hoping that they could use HTTPS to connect to our system, and somehow trigger a function module on our side to process the data.

Any insight you can provide would be helpful

Thanks!

Read only

0 Likes
961

Hi Joe,

...usually uses a SOAP request to connect to other systems.

Well, you just need to create an RFC which would take in the data from the 3rd party system and process this into SAP. Once you have created the RFC expose this as a web service. There are a lot of information and step by step guide available on the net to do this. Once you have created the web service, provide the 3rd party system with the WSDL URL or the WSDL file of the web service.

http://help.sap.com/saphelp_nw04/helpdata/en/e9/ae1b9a5d2cef4ea4b579f19d902871/content.htm

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f02b33fc-9eb1-2c10-0599-f2ef9fb5c...

how would I know if a system is capable of calling an RFC in an SAP system if they aren't using SAP?

Since the 3rd party system can make a web service call, you needn't worry much about RFC calls, usually this is achieved using 3rd party connectors like Jco etc or by importing the SAP RFC libraries into the 3rd party applications.

Also, when the WSDL is consumed into the third party system, run time components as per the third party application technology/platform will be generated in the 3rd party system. So they can actually send the actual content without marking it up with XML, if they wish to. However if the 3rd party application still chooses to send the content as XML, you will need to do XML transformation within SAP.

Regards,

Chen

Read only

0 Likes
961

This is great information, thank you!!!!!

One more quick question, I setup my web service with the endpoint as my function module. When someone calls the web service, how will the XML be passed to my function module? I setup a string as an importing parameter, set it as 'Pass as Variable', but will this automatically put the XML into this string?

Thank you so much for the help already!!!!

Edited by: Joe Lee on May 19, 2011 2:54 PM

Read only

0 Likes
961

Hi Joe,

You did right by setting up string as an import parameter,

set it as 'Pass as Variable', but will this automatically put the XML into this string?

I suppose you meant pass by value, and yes this will automatically put the XML into the import string.

Glad to have been of some help!!!

Regards,

Chen

Edited by: Chen K V on May 19, 2011 9:28 PM