cancel
Showing results for 
Search instead for 
Did you mean: 

Scenario RFC --> SOAP --> RFC and vice versa between two SAP systems

former_member189496
Active Participant
0 Kudos

Hello guys and girls

I want to use standard ALE scenario, which uses standard BAPIs, between two SAP systems.

Usually I should use RFC connection but this is forbidden by our security department

We envisage the following scenario :

SAP system A --> Web service system A --> Web service system B --> SAP system B

Connection between  SAP and Web service will be thru RFC (authorised this one), and in HTTPS between both web service systems.

The idea is to convert the BAPI RFC call into web service by the web service system A and from web service to RFC call by the WS system B.

So in theory it is transparent for SAP systems because SAP A still send RFC call and SAP B still receive RFC call.

But I think that it could be hard work to transform BAPI RFC call into WS by the WS system.

So I have seen that we can transform BAPI into WS "easily" in SAP (we are in ECC6 EHP5 - NW 702). But I do not know if it could help us

Can you give me some recommendation for my scenario ?

Could it be helpful to transform BAPI into webservice ? Can an ALE scenario call WS instead of BAPIs ?

Thanks in advance for your help

Best regards,

Christophe.

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi E-Travel,

First of all, i think you don't have a PI isn'it?

If you don't have PI the best way is to use the ECC webservice runtime. Yes, you can transform easily a BAPI in webservice or to do a webservice proxy to call an external webservice. This technology is better than use IDOC or RFC because you are using an standard to communicate, and for third party platforms will be easiest to develop and maintain.

Regards.

former_member189496
Active Participant
0 Kudos

Hi,

Yes we don't have a PI.

Using the ECC webservice runtime means to make the configuration thru transaction SOAMANAGER ? We have no experience on this but will be happy to learn something new

We will have one central SAP system A which will need to discuss to several SAP system B.

Each time we will need the same calls.

One scenario is the following (Posting Travel expenses from System A to Finance system B) :

On a standard way, by using ALE / RFC, System A call BAPI via RFC to system B which send back the answer (e.g. Search for the vendor code for one employee ID).

What would be the scenario thru WS ? 

Former Member
0 Kudos

Expose in the provider system. Import the WSDL in the consumer system and then configure the logical port via SOAMANAGER for the consumer proxy

iaki_vila
Active Contributor
0 Kudos

Hi E-Travel,

First of all, execute the transaction SOAMANAGER in your ECC and check that it is accessible in your browser. Normally, it is necessary to activate the service in SICF transaction and depending your infrastructure security to open the ports.

Regards.

former_member189496
Active Participant
0 Kudos

Yes I did the necessary in SICF and can run SOAMANAGER.

But it's completely new for me and I'm trying to understand how it work and how it should be setup with the on-line help.

http://help.sap.com/saphelp_nw70ehp2/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/content.htm?frame...

iaki_vila
Active Contributor
former_member189496
Active Participant
0 Kudos

Thanks, this is very helpfull

So now I see that we can easily transform any function module (BAPI) into WS.

What I did not get yet is how I will call this WS in my System A (consumer) ?

Today we are using standard transaction (e.g PRFI / PRRW) which call remotely thru RFC the BAPIs that I want to transform into WS.

But should I change the standard program to call WS instead of BAPI thru RFC ?

iaki_vila
Active Contributor
0 Kudos

Hi E-travel,


What I did not get yet is how I will call this WS in my System A (consumer) ?

You only need to create an enterprise service with a wizard in ABAP and later with SOAMANAGER to set then endpoint or the endpoints associating each one with a logical port. When you create a enterprise service you are creating the structure to be called via URL or via WSDL file. May be this how-to will be more self-explanatory Consuming a Web Service in ABAP | SAP Ignite


But should I change the standard program to call WS instead of BAPI thru RFC ?

I think you are talking about standard BAPI, you have to create an extra Z ABAP code with the proxy call. There are several ways to add Z code in standard ABAP code, in the ABAP forum they will can to give you better advices about this theme.

Regards,

former_member189496
Active Participant
0 Kudos

OK I see now.

But I'm not in favour of modifying standard program when you can avoid (even with exit)

We are creating a "gaz factory" due to security constraints where it should have taken me half a day to configure everything thru standard RFC scenario

And I'm not talking about the cost ...

Anyway, thanks a lot for your help

Cheers

Christophe

Answers (1)

Answers (1)

former_member189496
Active Participant
0 Kudos

Hi,

Does anyone have some tips for me ?

Thanks in advance.

Christophe

Former Member
0 Kudos

the transaction is between SAP Sys A and B. Is the Web service system A and B another intermediate systems?

former_member189496
Active Participant
0 Kudos

Hi,

Yes, web service systems are others systems then SAP (TIBCO).

SAP A and SAP B are on two different networks and cannot dialog directly. Security forces us to go thru webservice servers.

But we can envisage to transform RFC call into webservice on the SAP systems and then only use webservice servers as "transport layers"

regards,

Christophe