cancel
Showing results for 
Search instead for 
Did you mean: 

Call XI From R3 using RFC

Former Member
0 Kudos

Hi

We are running R/3 4.6C and XI 3.0.

We have a requirement to call a web service from XI at regular intervals (eg 10 mins). From what I have read it is not possible to set the SOAP adapter to poll a web service in this way (as you can with the file adapter). We have therefore decided that we will have to schedule a job in our SAP R3 system to run an ABAP that does nothing but call an RFC that causes XI to call the web service.

I have been following the blogs by Shabarish Vijayakumar and Michal Krawczyk on this subject but am having problems. Based on the blogs, I believe I need to create and RFC and then create a TCP/IP destination (SM59). I have done this using the hostname of our R/3 system and the R/3 gateway. I have created a Program ID and entered that too. However, if I hit the test connection button I get the following error:

"program zawprogid not registered / CPI-C error CM_ALLOCATE_FAILURE_RETRY."

How do I register the program ID? I believe I have configured the RFC Sender adapter in XI correctly (although I have not created any mappings yet) but don't acvtually understand how the RFC and/or Destination I have created will 'know' to connect to XI?

Any help/advice/pointers would be greatly appreciated!

Thanks

Andy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI Andrew

<b>first create RFC destination ,</b>

((create the RFC go to TCODE: SM59

Create new destination of type T (TCP/IP)

Make sure you select Registered Server Program option before writing your program ID

Write you program ID (remember it's case-sensitive)

In the gateway host and gateway service write the values of your "Application system" - business system (not the XI server)))

<b>Now configure RFC channel in the XI directory </b>

((Enter your Application Server

Your Application Server Service

Enter your Program ID from the RFC destination )))

Hope this is what u are looking for .....

Thanks !!

Answers (3)

Answers (3)

santhosh_kumarv
Active Contributor
0 Kudos

Hi,

I suggest u to

Define an integeration process and Schedule it to Run ten minutes either by scheduling an fileadapter to pool every 2 hours and send an dummy file ti IP or write an proxy in R/3 system and schedule it(in SM36) to run every ten minutes so that the Integeration Process gets triggered every ten minutes.

In the IP call the Webservice using soad adapter.

Go thru this blog to schedule the BPM <a href="/people/siva.maranani/blog/2005/05/22/schedule-your-bpm Your BPM</a> by Siva Maranani

Go thru this document for scheduling file adapter

<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4f61fddf-0601-0010-7ab5-fb749538f6ab">Scheduling File Adapter</a>

[url=; Use a Good Subject Line, One Question Per Posting - Award Points[/url]

Former Member
0 Kudos

See this blog for Program ID.

/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step

Former Member
0 Kudos

Hi

Please ignore this - it was my fault - I just realised that in my RFC Sender adapter I had put the App Server and and App Server Gateway in the wrong fields!

However, I still don't understand how R/3 knows to connect to XI though, if anybody can enlighten me...

Cheers

Andy