cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous RFC Call

Former Member
0 Kudos

Hi all,

I have a very small Problem (I think).

The case is following:

From the ERP-system we want to call a plain RFC function module on the pi-System. With that structure we want to do a Mapping in IR with an User-defined-Java Function, which does an external Web Service Call. This result we want to put into the RFC-response.

When testing the Mapping we get the result we want to have.

all of the logic is between the RFC Request and RFC Response.

Unfortunately we cannot do an Operation mapping between RFC Request and Response.

So I need a dummy Interface, between them. Is that right? Do I have to use BPM in that case? We want to avoid that.

Can you please help me to solve that small scenario?

Thanks

Best Regards

Daniel

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

I solved it that way:

I justed moved the importing parameter to the exporting parameter in the function module. So I could call the UDF in the reponse Mapping.

Regards

Daniel

Former Member
0 Kudos

Hi

I look for the Java Proxies and I don't understand them, apart from that they make problems here.

The Webservice Call from UDF isn't the point in my problem.

It is the same as the UDF gets 2 Import Numbers and der UDF adds them. We just want the result in one (x)string

Isn't it possible just to map the Request on the Response of the RFC?

RFC.Request -> UDF -> RFC.Response

stefan_grube
Active Contributor
0 Kudos

> Isn't it possible just to map the Request on the Response of the RFC?

No, this is not possible.

Former Member
0 Kudos

ok thanks, good to know.

could it work with BPM and asynchronous Dummy Interfaces?

like this.

RFC.Request -> Mapping -> async. Dummy1-> UDF -> async. Dummy2 -> Mapping -> RFC.Response?

stefan_grube
Active Contributor
0 Kudos

> could it work with BPM and asynchronous Dummy Interfaces?

Yes, this could work.

But you should try any other possible solution first

stefan_grube
Active Contributor
0 Kudos

> From the ERP-system we want to call a plain RFC function module on the pi-System. With that structure we want to do a Mapping in IR with an User-defined-Java Function, which does an external Web Service Call. This result we want to put into the RFC-response.

Who told you to do this that way?

Former Member
0 Kudos

that was my idea. I'm not so experienced with that. It seems, that the way is not a right way?

The case is, that we have to use Java-Code and that is should run through the SAP NetWeaver PI.

stefan_grube
Active Contributor
0 Kudos

No, this is not the right way.

You have two interfaces, one for the RFC, one for the webservice.

You do a request mapping and a response mapping, no UDF and no BPM required.

Former Member
0 Kudos

Unfortunately the webservice we want to call does not fit with the SAP-logic.

The process aborts, because we get a "double message payload". Otherwise we would have done it with a simple Client-Proxy. The PI also aborts when trying it by the "normal" web service way.

But we have received a Java Code which can handle that.

Now we should include that in the PI.

And it works when testing a message Mapping with that Code into a UDF.

The problem is, that I do not know how to put that into the response in the "right way".

Regards

Daniel

stefan_grube
Active Contributor
0 Kudos

create a Java proxy and apply your code there.

Former Member
0 Kudos

Hi Daniel,

You will be having two separate mappings in this scenario,one for request and other one for response.And in the interface mapping you will be mentioning the synchronous interfaces(RFC and webservice) and will be providing the message mappings for both request and response.

The testing will be possible at the request side.But the response for webservice has to be taken from any outside applications like XML spy. and take the response of that web service and test the response map.

Regards,

Tiny