cancel
Showing results for 
Search instead for 
Did you mean: 

XI RFC call failing

Former Member
0 Kudos

Hello,

I am setting up a very simple scenario where I am making a sychronous RFC call to a BAPI in R/3 (Version 4.6c) from an XI Sandbox (Version 7.0).

I have the RFC Communication channel properly configured, or so I think, and have verified everything else as well. I initiate the message from the Runtime Workbench and it shows with status "Successful" in the Message Monitoring section. However, when I look in SXMB_MONI transaction I am unable to find a response message from the BAPI coming back in the payload. I notice that even though the scenario is synchronous, the "Type" column in the SXMB_MONI transaction results shows it as "Asynchronous". Also, in the message details there is a Payload (which I am sending when I create and send the message from the RWB), in every step, until the Call Adapter step. After that there is no payload in the Call Adapter or the Response steps, just the SOAP Body with the Manifest.

In the message details I see that the <SAP:Processing Mode> entry is set to "Asynchronous" rather than "Synchronous".

Does anyone have any idea why this is so?

Thanks,

Murtaza.

Message was edited by:

Murtaza Madraswala

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Murtaza,

Really Curious approach! Can you please check the following link on your XI Server:

http://<hostname>:<J2EE-Port>/MessagingSystem

In here, you can see all the messages passed through the adapter engine. Here you will find a functionality called audit log. This shows the adapter activities. Check it to make sure that the request message is entering the RFC adapter properly, and the response message is coming out.

Also check your receiver agreement.

P.S: J2EE-Port = 5<XIServerSysno>00.

Regards,

Amitabha

Former Member
0 Kudos

Hi Amitabha,

I looked in the location you suggested and got a list of "Success" messages. These are listed below for you to look at:

Time Stamp Status Description

2007-06-18 15:17:54 Success Message successfully received by messaging system. Profile: XI URL: http://camapox1:50100/MessagingSystem/receive/AFW/XI Credential (User): XIISUSER

2007-06-18 15:17:54 Success Using connection RFC_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.

2007-06-18 15:17:54 Success Message successfully put into the queue.

2007-06-18 15:17:54 Success The message was successfully retrieved from the receive queue.

2007-06-18 15:17:54 Success The message status set to DLNG.

2007-06-18 15:17:54 Success Delivering to channel: GeneratedReceiverChannel_RFC

2007-06-18 15:17:54 Success MP: entering

2007-06-18 15:17:54 Success MP: processing local module localejbs/RfcAFBean

2007-06-18 15:17:54 Success RFC adapter received an asynchronous message. Attempting to send tRFC for Z_SD_RFC_ATP_WRAPPER with TID XIlc32S1tf4Togkm0mRWaHRG

2007-06-18 15:17:55 Success MP: leaving

2007-06-18 15:17:55 Success The message was successfully delivered to the application using connection RFC_http://sap.com/xi/XI/System.

2007-06-18 15:17:55 Success The message status set to DLVD.

The problem that I am seeing is that this is posted under the list of Asychronous Received Messages. Thats something I am just unable to understand. I have a Synchronous Outbound Interface defined and an RFC Communication Channel, which is Synchronous as far as I know. So why is the processing mode for the message being chosen as Asynch? Which config setting have I missed that is causing this problem? I am just unable to find the answer so far.

I appreciate your help. Please let me know if you have any clues.

Thanks,

Murtaza.

justin_santhanam
Active Contributor
0 Kudos

Murtaza,

Sorry to ask this question, but to make sure. you have created the Inbound synchronous interface with the RFC request and response messages am I right. While selecting the request and response message did u choosed correctly against output and input message type.

Best regards,

raj.

Former Member
0 Kudos

Hi Raj,

Yes I am pretty sure that that selection is correct. I have even tested the mappings in the "Test" tab after creating them. So all that should be accurate. This applies both for the original Outbound Synch and the later Inbound Synch interfaces I created.

Thanks,

Murtaza.

justin_santhanam
Active Contributor
0 Kudos

Murtaza,

One more try, since you said u are directly posting to the Integration server, which qos u are using. If you are using EO, kindly change to BE, and try the same.

Murtaza, does it helps?

Best regards,

raj.

Message was edited by:

Raj

Former Member
0 Kudos

Hi Raj,

So I was using the EO parameter. I changed that to BE. Also I am still using the Synch Outbound interface. Could you please tell me the distinguishing factors between these QOS parameters?

I now have the link working. I see the message going from XI to R/3 and then a response message come back from R/3 to XI in the XI monitor, with the BAPI response information. The <SAP:ProcessingMode> tag has also changed to "Synchronous".

It would be great if you could provide me this information. I will of course also try to look in the Help documentation.

Thanks,

Murtaza.

Note: I retried the test using the link where I had the Synchronous Inbound interface defined, and even that is sending me the exact same response, i.e. even that is working. So when does one use which interface?

Message was edited by:

Murtaza Madraswala

justin_santhanam
Active Contributor
0 Kudos

Murtaza,

Please find the below threads which exactly deals with our case.

Murtaza are u using Synch OB Interface?

I'm totally confused ,how the scenario is working for you with synch OB, as I discussed in my previous replies , u have to created synch_ib only. Ok try the scenario with File -XI- RFC. Do you think the o/b will be synchronous interface, certainly not,it has to be asynch OB and synch IB. Since you are posting to the URL directly with BE as QOS i don't know how its working.

Please read that , if you have still doubts kindly revert back.

Message was edited by:

Raj

Answers (1)

Answers (1)

justin_santhanam
Active Contributor
0 Kudos

Murtaza,

- Are you using BPM for this scenario ?

- Are you are using Synchrnous Inbound Interface ?

Can you reply the scenario flow...

Best regards,

raj.

Former Member
0 Kudos

Hi Raj,

Thanks for checking on this.

No, I am not using BPM for this scenario.

I have an OUTbound Interface defined which is synchronous. In this I am defining an input message type, output message type, and fault message type. These have their corresponding data types assigned.

I am importing the BAPI definition into the "Imported Objects" section and mapping the input data type to the ATP_Input section of the <BAPI NAME> object, and the output data type to the ATP_Output section of the <BAPI NAME>.Response object.

I have also tested the mappings and they are working fine.

Thanks,

Murtaza.

Former Member
0 Kudos

hey

goto SE37 and check ur FM,make sure it has both exporting and importing parameters

thanx

ahmad

Former Member
0 Kudos

Hi Ahmad,

Yes I have run the BAPI many times from se37, and it has both of these parameters. Calling this BAPI using JCo and SAP Enterprise Connector from the NetWeaver Developer Studio was a breeze, but XI has been quite a learning curve.

Thanks,

Murtaza.

justin_santhanam
Active Contributor
0 Kudos

Murtaza ,

Please correct me if i'm wrong, why u r using Outbound Synchronous, it has to be inbound synchronous , isn't it?

Is this your scenario File - XI -RFC ?

Best regards,

raj.

Former Member
0 Kudos

Hi Raj,

Based on what I understood from the little useful documentation I could find, I defined an Outbound Synchronous interface. My understanding was that messages being outbound from XI and inbound into R/3 would require an "Outbound" interface.

Is that an incorrect assumption?

Please let me know.

Thanks,

Murtaza.

justin_santhanam
Active Contributor
0 Kudos

Murtaza,

Consider the below flow ,it could be useful. The term outbound&inbound is respective to the source and target system.

OUTBOUND---- XI -


INBOUND

Since your case is File -XI -RFC . There is no point in creating Outbound synhronous, instead you have to create Synch.Inbound.

Hope it clears!!!

Best regards,

raj.

Former Member
0 Kudos

Hi Murtaza,

Please correct me if I am wrong in understanding your scenario:

-Your scenario is File-XI-RFC-XI-File, that is to say, You send a file, contents are mapped to RFC's impoprt parameter, RFC processes the parameters and returns Export paramters, which are mapped onto a Target file, am I correct?

-Assuming I am correct, I guess you have your Interface definitions correct, Outbound Synchronous Interface, not Inbound. Output Message= Source File Structure,Input Message=Target File structure.

-The problem with your scenario is File Adapter supports only asynchronous communication, so when the source file data has been sent through the Interface, it is not waiting for the response from RFC to come back, that is why (even if the Export parameter has been populated correctly) the response is not getting back. You can either use a BPM (refer <a href="/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit Seth's Blog</a>) or use a synchronous Adapter like JDBC in this case. Just debug the RFC Call at runtime to be sure that the Export Parameters are being populated.

Regards,

Amitabha

Former Member
0 Kudos

Hi Raj,

I created a new Inbound Synchronous interface and a new scenario in the Integration Directory. However I am getting the exact same behaviour as in the previous case. The message shows up as "Successful" in the Message Monitoring section of the Runtime Workbench but when I look in the SXMB_MONI transaction I see that the <SAP:Processing Mode> is set to "Asynchronous" and I dont see any response coming back from R/3 in the Response tab. In fact there is no "Payloads" in the Call Adapter or the Response sections of the message.

What could possibly be missing.

Thanks,

Murtaza.

Former Member
0 Kudos

Hi Amitabha,

I have a simpler scenario than even the one you mention. All I am trying at this stage is XI - RFC - XI. I am using the Runtime Workbench to send the input message to XI. I am doing this in the Component Monitoring section, the "Test Message" tab under the "Integration Engine" entry. I intend to just see the output message in the XI Monitor logs (SXMB_MONI), dont have any need to write it to a file or anything fancy. So I dont even have a File Adapter configured, just a synchronous RFC Adapter to get the message from XI into R/3 and (hopefully) get a response back (into XI).

I have tried initially with the Outbound Interface, and later based on recommendations from the forum, created an Inbound Interface and a completely new scenario. However, I dont see any change in behaviour from the previous case. Please see the post I entered before this one.

Thanks,

Murtaza.

Thanks,

Murtaza.