cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Vs Webservice

Former Member
0 Kudos

In R/3 if a Function Module needs to be available for the other Applications then I am declaring that as an Remote Enabled Function and then it becomes accessible from the Remote Applications.

How can I convert this Function Module in R/3 as an Web Service?

How does an RFC and an Web Service Different from each other?

What are all the advantages over each other?

Thanks.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Rohini,

If you're on WAS 6.20 and up, you can expose an RFC as a webservice directly from WAS.

Or if you’re on Basis layer 4.6D, you'll need to use XI (or some other integration tool) to expose the RFC as a webservice.

To do this in XI you'll need to:

Integration Repository

1) Import the RFC

2) Define a message and datatype for the SOAP interface

3) Create inbound and outbound interfaces

4) Create maps between the RFC and SOAP messages

5) Create an interface map

Integration Directory

1) Create an RFC Receiver Channel

2) Create a SOAP Sender Channel

3) Generate the WSDL (Tools->Define Web Service)

You can then handoff the WSDL and a login username and password to your developer and they will have everything they need to make the WS call.

Here are answers to a few doubts u might have:

1) Do I need to actually create a WS that calls the RFC ? Isn’t the virtual interface exposed by the XI sufficient?

Yes, you need to create a WS in XI that calls the RFC.

2) If I really have to create the WS and deploy it in order to expose it with the XI, then what is my benefit of exposing it with the XI, why not just exposing it as a normal WS ?

You don't have WAS 6.20 or up. Even if you did, you may still want to expose it using XI in order to have all of your integration go through the same application.

3) If I expose my web service through the XI, how does the client application executes one of its methods? To which url does it have to access (the XI or the actual WS)?

You expose a SOAP interface in XI by generating a WSDL file. This file contains all of the information a developer will need to call the webservice including the URL.

You actually specify the URL when you generate the WSDL. Be sure to read the documentation to get the correct format because the URL that the wizard suggests isn't correct.

Regards,

Abhy

Former Member
0 Kudos

Hi Rohini,

In the SAP system, the ability to call remote functions is provided by the <b>Remote Function Call (RFC)</b> interface. This interface allows for remote calls between two SAP systems, or between an SAP system and a non-SAP system.

Please take a look at

http://help.sap.com/saphelp_nw2004s/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm

<b>Web services</b> are self-contained, modularized, executable entities that can be published, searched for, and accessed across a network. For a caller or sender, a Web service is a black box that may require input and delivers a result.

Also take a look at

http://help.sap.com/saphelp_nw2004s/helpdata/en/d6/f9bc3d52f39d33e10000000a11405a/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/34/b7e869cd1e4fe6a87f8ffdebdbdfd5/frameset.htm

Hope these help you!

cheers,

Prashanth

Shabarish_Nair
Active Contributor
0 Kudos

i think u can try this option.

Open the RFC in se37

then goto utilities-> more utilities -> create webservice

Shabarish_Nair
Active Contributor
0 Kudos

How does an RFC and an Web Service Different from each other? >>

RFC is something u have in your R3 system, but a webservice is more global. Ref: http://en.wikipedia.org/wiki/Web_services

That has to give u a wide prespective abt Webservices