cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Client Exception

Former Member
0 Kudos

Hi All ,

Have encounter an issue , wherein  sender is SOAP and receiver is RFC .

Its like two interfaces using the same RFC receiver channel and both the interfaces failed and says :

Error messages says  :

For 1st interface : 

Error Delivering the message to the application using connection RFC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Sync application request expired.. Setting message to status failed

For 2nd interface : 

Error Delivering the message to the application using connection RFC_http://sap.com/xi/XI/System failed, due to:

com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: resource error: could not get a client from JCO.Pool: com.sap.mw.jco.JCO$Exception:(106) JCO_ERROR_RESOURCE: Connection pool RfcClient[CC_XXXXXXX]  is exhausted. The current pool size limit(max connections) is 1 connections.. Setting message to status failed.

Can any one suggest , how to resolve this issue ?

Currently the Max connection is 1 , if we increase the value for Max Connection  to 2 or 5 in the receiver adapter , will this solves the issue ? Please suggest.

-Shweta

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Solution to max connection: increaase value to 25 like that , RFC adapter can handle max connetcion more than 30 at a time.

Solution to Time Out issue:  Fisrt debug why your target system is taking that much time to give response, debug your BAPI and implement best coding syandards to get response withing time,.

Then think about chnaging RFC time out parameter value

Former Member
0 Kudos

Hi All,

I have a synchronous SOAP to RFC scenario. I am getting ‘Message (OUTBOUND) expired’ exception error.

When I checked my adapter engine my SOAP sender channel is failed with above error.

In my receiver RFC channel max connection is already set to 20. Also I have increased the value of timeout parameter in NWA to 5 minutes from default 3 minutes.

I am still getting the same timeout error. I have asked my ABAP team to check for the response time of the BAPI. And there is no code optimization required as the BAPI used is a standard BAPI.

Please help to further troubleshoot this problem.

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Sweta,

as Iñaki Vila reply, RFC might be taking more time to respond. for increasing the wait time, you need to set a parameter in SXMB_ADM.

Category: RUNTIME

Parametrs:HTTP_TIMEOUT

Current value: check the existing one, according to that try to increase the time 100000/200000 accroding to response time of RFC.

Thank You,

Madhav

Former Member
0 Kudos

Hi madhav ,

When i went and see in  " RUNTIME " category , I can' find the parameter " HTTP_TIMEOUT"

Is that mean we need to create this parameter ?   Pl Advise.

-Shweta

Former Member
0 Kudos

Shweta,

yes, usually it can be 60000(60 sec), if you feel like response takes more time than a mminute, increase it further more according to your requirement.

Thank You,
Madhav

iaki_vila
Active Contributor
0 Kudos

Hi Shweta Ganti,

The answers from RAJEEV GUPTA, Grzegorz Glowacki and Baskar Gopalakrishnan, about the RFC parameter, are the best solution to aovid that problem. Also you should think because this problem begins. I usually see this problem in synchrounous scenarios with a large XML or in scenarios with a large RFC reponse time. May be you could study if you need to pass all the XML to RFC, to improve the RFC code or wheter the problem is by a large runtime execution in ABAP endpoint code to make an asynchronous scenario.

Regards.

Former Member
0 Kudos

Hi Shweta, Please check if the If the 1st RFC is getting executed successfully in SAP system. If the RFC is not closing properly, increasing the number of threads may not help as it might still max out the connections.

Thanks,
Sathya

Former Member
0 Kudos

Hi Satya ,

Have checked it , RFC connection is fine.  Now , if i increase the RFC maximum connection value to 2 , will this  be solved ?

Former Member
0 Kudos

increase max connections to 15 or 20 - as you may have more rfc scenarios coming up later.

or define a new receiver rfc comm channel with all connection details maintained in it for the second scenario and have max connection as 1 - though this is not a good approach.

former_member184681
Active Contributor
0 Kudos

Hi,

If your two scenarios are not EOIO, you might have more simultaneous connections then scenarios. Simply think of several requests from each interface being processed at the same time - they will still fail if you set max connections to 2. It is much safer to set the paramter to a higher value, so that there was a chance for PI to "roll" the available connections dynamically, according to the current usage. Moreover - setting max connections to 10 doesn't mean PI maintains 10 permanent connections to the receiver. It is just a limit of connections that you globally want to allow.

Hope this helps,

Greg

Former Member
0 Kudos

Greg ,

Can you please specify which parameter  you are talking about ?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

RFC receiver channel.

Go to RFC client parameter  and see for "maximum connections" and set value  to higher value example 15

Former Member
0 Kudos

Hi Greg ,

Could you please tell me where should I go and increase the parameter .

Kindly let me know the exact path (I am working in 7.1 version)

Thanks

Shweta

former_member184681
Active Contributor
0 Kudos

Hi,

Simply set it in the receiver RFC communication channel, in the field I marked with green below:

Hope this helps,

Greg

Former Member
0 Kudos

Greg ,

Apart from this, people are suggesting to  increase the parameter at the admin level for the time out exception via SXMB_ADM. I understand this is the BASIS activity , but just wanted to know  what is the exact path to change the settings for the same in SXMB_ADM . Pl advise.

Shweta

Former Member
0 Kudos

shweta,

you can set the parameters as mentioned in above reply..

Thank You,

Madhav

former_member184681
Active Contributor
0 Kudos

Hi,

Frankly speaking - it might turn out unnecessary. Most probably the timeouts were caused by the messages being "queued" at the receiver adapter level, because of only a single instance of the outgoing connection. In my opinion, it might be worth testing with only the communication channel paramter changed. Only if you still encounter problems, will you have to do further adjustments.

Regards,

Greg

Former Member
0 Kudos

Thanks for the info Greg.  Thanks everybody .

Former Member
0 Kudos

increase max connection in receiver rfc comm channel to 15 or 20 and see if it works.

Former Member
0 Kudos

Rajeev ,

Yea will do that , one more thing wanted to check here .

There was an option in NWA  --- > under Java Service  --- > under RFC adapter  as syncMessageDeliveryTimeoutMsec  , normally this  can be increased to solve this kind of  issues. But I can't see this parmeter in  PI 7.1 .

Can some one tell me where is this parameter maitained in 7.1 ??

Former Member
0 Kudos

increasing the above timeout parameter will enable to get response even if it is delayed slightly. But if two or more reqs come simultaneously, then this parameter though resolving first error, will still lead to second error if the max connections are not increased.