cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP sync to RFC - Multiple lines in the RFC 'input'

Former Member
0 Kudos

Hello everyone!

I need a little 'insight help'/opinion.

I had a cenario that was working just fine, SOAP Async to iDoc. In the cenario I received 1:n lines and send it to the iDoc. No problem at all.

Now, the analyst asked us to change this cenario to: SOAP Sync to RFC (I opposed that but.. it's their decision..)

So, I created a RFC with NO IMPORTING AND EXPORTING and 2 TABLES. One table to receive 1:n lines as inputs of the data, and other table to give 1:n line as response of the process of that line.(the RFC is remote, so can be used by PI)

When I test this RFC in R3 using transaction SE37, I am able to enter 1:n line in the input table, and get the 1:n line in the response table. And also, the data is inserted in my table. Perfect.

When I import and use this RFC in PI, everything seems to be fine during mapping procedures and such, but when I execute the SOAP call, I get an mapping error. I was able to see that:

1 - The Response from the RFC using PI is 'blank'. I mean, the mapping from the response of the RFC to my SOAP is 'null', that's why I´m getting the error mapping.

2 - Tha data WAS NOT inserted into the table using PI. This worries me more.

So, my question is, does PI understand the use of 2 tables (one as 'input' and other as 'output') from the RFC? - the RFC has no importing and exporting, only tables, as I've mentioned.

Also, is this what I am trying to achieve here, possible? I mean, can I expect to use a RFC with multiple line as 'input' or PI only accepts 'parameters' as input?

Thanks for the insight help!

Ricardo Sancio Lóra

Brazil

Accepted Solutions (1)

Accepted Solutions (1)

abhay_rajhans2
Contributor
0 Kudos

Hi,

Try deactivating and again activating RFC communication channel.

Former Member
0 Kudos

Deactiaving and activating the channel worked!

Thanks guys!

Nice to see that we can use 1:n lines in RFC remote and PI!

Answers (1)

Answers (1)

former_member200962
Active Contributor
0 Kudos
So, my question is, does PI understand the use of 2 tables (one as 'input' and other as 'output') from the RFC?

IR --> Imported Objects --> RFC --> Request/ Response ..... PI understands this.....so in the imported RFC are these Request/ Response maintained properly? Whatever structure is present here PI will send/ receive message to/ from it

Have you defined proper mapping....one for Request (SOAPReq_to_RFCReq) and other for Response (RFCResp_to_SOAPResp)

Regards,

Abhishek.

Former Member
0 Kudos

Yes. The Request and Response are visible. They are the same since there are only tables involved in the RFC (apart from the '.Response' name).

My mapping seems to be ok, but when I map anything from the response to my output, I get the mapping error, but if I map something constant it worked. But did you see when I say that the item was NOT inserted into the table in R3?

I´m just wondering if Remote RFC are able to be used without IMPORTING parameters..

Ricardo

former_member200962
Active Contributor
0 Kudos
but when I map anything from the response to my output, I get the mapping error, but if I map something constant it 
worked

Did you test the mapping in IR using the Test tab of Interface/ Message mapping? If it is working for Constant and not for runtime (or other) values then it means that the mapping logic is not proper.

But did you see when I say that the item was NOT inserted into the table in R3? 

Now the last check-point in XI.....is your RFC channel showing proper payload in RWB --> Component Monitoring --> Adapter Engine --> CC Monitoring?

Regards,

Abhishek.

Former Member
0 Kudos

Yes, using the Test tab works just fine. No error in IR, only when I call the WebService (SOAP Sender).

In the RFC channel I can see the SOAP payload, but it's encrypted.

Did you do any cenario like this?

Ricardo