cancel
Showing results for 
Search instead for 
Did you mean: 

Timeout error in ECC "INTERNAL.CLIENT_RECEIVE_FAILED Error while receiving by HTTP (error code: 402 , error text: ICM_HTTP_TIMEOUT)"

Former Member
0 Kudos

Dear Experts,

I am very critical situation due to this timeout error in ECC, please help me as much as you can. Go-live date is very near, but I am not getting any clue why this error is occurring. our ECC system is EHP 4, and PI is dual stack 7.4

My scenario is synchronous ABAP proxy to HTTP_AAE. request is triggering from ECC via proxy and reaching to third party (bank) through PI, I am reviving the response back in PI from bank. But from PI to ECC the response is not reaching. So in ECC after the defined Timeout limit its getting timed out.

I have tried everything by increasing the timeout in ECC more than 15 minutes in HTTP_TIMEOUT under SXMB_adm in ECC, but nothing worked, even if I am increasing for half an hour then also its getting timeout after half an hour.

response from bank to PI is coming within 30 to 40 seconds, but PI is not sending the response back to ECC.

This is classical scenario, and I have checked the trace via SXMB_Moni in PI as well as in ECC, in ECC its showing the timeout error, but in PI i did not see any trace for this error.

I have read many thread on SCN for the same error, and everywhere it has been suggested to increase the timeout, and I have tired that, it didn't help me.

All ABAP proxy configuration has been done as follows.

RFC destinations in ECC

  1. LCRSAPRFC(TCP/IP)
  2. SAPSLDAPI ((TCP/IP))
  3. G type destination to path "/sap/xi/engine?type=entry"
  4. G type destination SAP_PROXY_ESR to path "/rep"

All the destination connection test is working fine.

but i have a doubt on G type destination(AAE_XDJ) to path  "/sap/xi/engine?type=entry" which is returns the status code 500 with message "Empty HTTP request received", is it ok with 500 ?

Configuration in ECC Integration Engine configuration is as follows

Questions

  1. How the message gets pushed to ECC from PI, once the message received in PI, I believe by G type RFC destination on path  "/sap/xi/engine?type=entry" , please clarify.
  2. How to trace this, if message is not getting pushed to ECC, I mean I have checked the trace in PI XSMB_MONI, but didn't get anything for this error. In ECC SXMB_moni only I am able to the timeout error.

Please expert help me as soon as you can, this error really effecting me badly in front of management

Thanks,

Farhan

Accepted Solutions (1)

Accepted Solutions (1)

former_member184720
Active Contributor
0 Kudos

If you use Integrated configuration then type"G" is required and set the path to "/XISOAPAdapter/MessageServlet?ximessage=true"

Former Member
0 Kudos

Hi Hareesh,

I have changed the RFC destination to type "H" also changed all the required configuration in SXMB_ADM, but still the timeout error is coming, and message status is set "Log version" in PI SXMB_MONI.

  1. This destination returns status code 500 with message "Empty HTTP request received" is is a problem?
  2. Also what should be the value for  "Role of Business System" in SXMB_ADM, is it "Application system" or "Integration Server"

3. for this RFC destination in ECC the user of type service  "PIAPPLUSER" with role "SAP_XI_APPL_SERV_USER" I have created, same user I have created in PI as well with same role. This user type should be "service" or "system" ?

Please help me. I am in very critical situation due to this error.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - This destination returns status code 500 with message "Empty HTTP request received" is is a problem?

>>> This is not an issue.


Also what should be the value for  "Role of Business System" in SXMB_ADM, is it "Application system" or "Integration Server"

>>> It's the application system


for this RFC destination in ECC the user of type service  "PIAPPLUSER" with role "SAP_XI_APPL_SERV_USER" I have created, same user I have created in PI as well with same role. This user type should be "service" or "system"

>>> I don't think it matters here but i got System..

Sorry but I see a lot of thread on log version in sxmb_moni.. may be you can go through them and see if you can find some solution..

former_member184720
Active Contributor
Former Member
0 Kudos

Hi Hareesh,

I really appreciate you all help. However, I am still getting the same error, I will ask the basis team to implement the note which you mentioned.

Meanwhile I want to try this using ICO, do you think this can solve my problem? I know the ICO configuration just few configuration.

As per the below Document I need to do the following configuration.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef4...


I need to create another RFC destination of type "G" with the path "/XISOAPAdapter/MessageServlet?ximessage=true" , as you mentioned earlier.

  1. Make the entry in sxmb_adm(ECC system) go to sxmb_adm -> Integration Engine Configuration -> category (run-time) Parameter -> IS_URL . value of this parameter should be  "H" type RFC destination name i.e. "dest://<<RFC destination of type "H", with sub-parameter "Name of the entry in sender/Receiver definition" .
  2. My question is, if I have 10 ICO scenario, then I will have to make 10 entry in "Name of the entry in sender/Receiver definition" , also the same 10 entry should be maintained insxmb_adm -> Integration Engine Configuration -> category (run-time) Parameter -> IS_URL with sub-parameter "from sender/Receiver definition"? Please confirm the this point.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - You can try with ICo.

Yes.. you'll have to create the RFC destination of type "G" but for the sxmb_adm configuration please follow the below guide.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef4...

You just need to create a sender & receiver ID (interface specific) and process those interfaces using ICo.

Please go through the document and let us know incase you have any queries..

Former Member
0 Kudos

Hi Hareesh,

I configured the scenario based on ICO, and again I received the same timeout error in ECC.

I am really sick with this error, and I have raised the OSS message to SAP. Meanwhile I just want to double check my entire configuration with you. Please see the below configuration (for classical) for ABAP proxy to HTTP_AAE, and let me know if anything is wrong.

Request structure (ECC->PI->Bank)

<?xml version='1.0' ?>

<PaymentInfoMessage>

<PaymentInfoRequest>

<CompanyCode>Partner01</CompanyCode>

<BankCode>BSFRSARI</BankCode>

<StartDate>2006-07-09T00:00:00</StartDate>

<EndDate>2006-07-09T00:00:00</EndDate>

<TransactionType>940</TransactionType>

</PaymentInfoRequest>

</PaymentInfoMessage>

Response Structure (Bank->PI->ECC)

<?xml version="1.0"?>

<PaymentInfoMessageResponse>

<PaymentInfoResponse>

    <TransactionType>940</TransactionType>

    <SequenceNum>1</SequenceNum>

    <ReceiptTime>2002-01-02T18:01:00</ReceiptTime>

    <ProcessStatus>1</ProcessStatus>

    <Comment>No Comment</Comment>

    <TransactionData>:20:MT940-1007200601

:25:3210000079901

:28C:190/0001

</TransactionData>

    <CompanyCode>PARTNER01</CompanyCode>

</PaymentInfoResponse>

<StatusCode>OK</StatusCode>

<StatusDetail>OK</StatusDetail>

<ResponseItemCount>2</ResponseItemCount>

</PaymentInfoMessageResponse>

ESR Configuration

Please see the below screenshot for ESR config. I have created 4 data types, 4 message types, 2 Service interface (synchronous), 2 mapping and one operation mapping.

I just want to clarify about selecting the Request and response message type in inbound and outbound service interface.

)

<?xml version='1.0' ?>

<PaymentInfoMessage>

<PaymentInfoRequest>

<CompanyCode>Partner01</CompanyCode>

<BankCode>BSFRSARI</BankCode>

<StartDate>2006-07-09T00:00:00</StartDate>

<EndDate>2006-07-09T00:00:00</EndDate>

<TransactionType>940</TransactionType>

</PaymentInfoRequest>

</PaymentInfoMessage>

Response Structure (Bank->PI->ECC)

<?xml version="1.0"?>

<PaymentInfoMessageResponse>

<PaymentInfoResponse>

    <TransactionType>940</TransactionType>

    <SequenceNum>1</SequenceNum>

    <ReceiptTime>2002-01-02T18:01:00</ReceiptTime>

    <ProcessStatus>1</ProcessStatus>

    <Comment>No Comment</Comment>

    <TransactionData>:20:MT940-1007200601

:25:3210000079901

:28C:190/0001

</TransactionData>

    <CompanyCode>PARTNER01</CompanyCode>

</PaymentInfoResponse>

<StatusCode>OK</StatusCode>

<StatusDetail>OK</StatusDetail>

<ResponseItemCount>2</ResponseItemCount>

</PaymentInfoMessageResponse>

ESR Configuration

I have simply created 2 data types for requests(ECC->PI->Bank) and did one to one mapping. Similarly for response(Bank->PI->ECC) 2 data types, one to one mapping for this as well.

But I just want to clarify about selecting the Request and response message type in inbound and outbound service interface. please explain me this for synchronous interface.


Please see the below structure from ESR and inbound and Outbound service and let me know if the selection of Request and response message types is correct or not.

OutBound service interface

Inbound service interface

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - Have you changed the sxmb_adm configuration in ECC too??

After changing it to ICo, you should not see any messages in PI SXMB_MONI.. Can you confirm ?

Former Member
0 Kudos

Thanks Hareesh. Yes I have changed the sxmb_adm configuration in ECC, and I am checking the message in pimon, not in SXMB_Moni, as sxmb_moni is on ABAP stack.

Could you please check my both service interface configuration in above screenshot for selecting the request and response message types. please let if this configuration is correct.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Seems good to me..

What i meant was.. If the ECC configuration looks good then you should not see any messages in PI Integration engine..

In PIMON -> your messages are visible only under adapter engine but not integration engine.. Can you confirm this.

Also can you share the audit log of that message..

Former Member
0 Kudos

Hi Hareesh,

In PIMON Message is only visible under adapter engine not in integration engine. However, through AAE I am not getting response from bank, message  is getting expired in PI as well. please see the audit log, its shows that.

Thanks,

Farhan

Former Member
0 Kudos

Hello,

Cross check ur inbound service interface, category should be "Inbound" instead of "outbound"?

Test ur config after changing the same?

BTW, I  would like to clarify that in case of classical configuration it doesn't matter whether u are creating type G or H destination in ECC - both type will do the same task.

The type of destination matters only in case of AAE scenario.

Thanks

Amit Srivastava

Former Member
0 Kudos

Thank Amit for pointing my mistake. I have corrected that, it was just by mistake. Even after correcting that still I am getting the same error. I have created this scenario in both way, I mean classical as well as using ICO for testing. in classical I am receiving the response from bank withing 30-40 second, but the same response is not getting updated in ECC, and message status is setting as "Log version".

But Using ICO, I am not receiving the response from bank, after 5 minutes message is getting expired, this weird for me because all configuration is same except ICO, and SOAP sender adapter using xi 3.0 protocol, and other required configuration in ECC for proxy. 

Please see the below screenshots from MONI and PIMON

  1. SXMB_MONI

2. PIMON - message log

Experts Please suggest me as you can this error is effecting me badly. my all interfaces are facing the same timeout error in ECC.

Thanks,

Farhan

Former Member
0 Kudos

Hi Hareesh Gampa and Experts,


Please help to resolve this issue. Please let me if any one has faced and resolved such issues.

Thanks every one for the help. This is really critical for me, Project go-live date is very near.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - Sorry but i would suggest you to validate your configuration again.

Check if your operation mapping is valid(hit F7) and in the interface determination.. delete the mapping and add it again(as there was a mistake in the interface direction earlier)

Have a look at the below sample scenario for reference and see if you can figure out something.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0800534-89c3-2b10-91a2-febeafdea...

Former Member
0 Kudos

Hi Hareesh,

First of all thanks a lot. I have checked all my configuration again, also as per the step by step doc I have checked, I did not see any configuration error.

configuration mistake was in ICO scenario, not in classical, so I reactivated that again, I checked my OM as well with F7, see the screenshot.

I would love to see the error in config, which will solve my problem, but no luck yet. Please let me know if any other pointer to solve this issue.

Thanks,

Farhan

Answers (3)

Answers (3)

sunil_singh13
Active Contributor
0 Kudos

Farahan,

I saw the Adapter logs that you have Posted.

- Delivering to CC_MT940_Recv_AAE  (It is you HTTP receiver channel which is calling Bank Service)

- Calling Local EJB

- Syc Time Out

(Further Error are due to Time out).

Looks like your Receiver HTTP Adapter has an issue. I will suggest to use XPI inspector (you can find it on SAP Market place) to get more logs of Adapter

Try with SOAP Adapter as Receiver to call the Webservice (with No SOAP envelop) 

Thanks,

Sunil

Former Member
0 Kudos

Hi Sunil,

Thanks a lot for your help. In my case bank does not support webservice and they are using specific HTTPS(SSL) port, and in SOAP receiver adapter, I do not see any option to specify port.

Regrding HTTP_AAE receiver adapter, the above adapter log is, when I am using ICO, then I am not getting any response from bank. However, the same HTTP_AAE receiver adapter with classical scenario I am getting the response from bank in SXMB_MONI with status as "Log Version" , but response is not reaching to ECC.  This is weird

I have already installed xpi_inspector and I am using for debugging purpose, here as well it shows the adapter status as "green", I am able to ping all my HTTP_AAE receiver adapter to bank successfully.

Thanks,

Farhan

sunil_singh13
Active Contributor
0 Kudos

Farhan,

In SOAP Adapter you can give URL as https://<host>:<Port>/<Path>  (Just replace these Entries from your Http Adapter and use it in SOAP).

Well "Green" could be indication that connectivity is fine but during Run time Application Can cause issue (e.g time out). So Don't go by Status of channel as of now.

Also "Log Version" in SXI_Monitor Sometimes also Means "I didn't get response in Specified time".

Thanks,

Sunil

Email address removed. If you want people to contact you, you can choose to make your email visible in your profile, but we ask you not to post it elsewhere on the site. For more info check the SCN rules of engagement.

Former Member
0 Kudos

Thanks a lot Sunil for the help. In my case I can just communicate with bank IP instead of Host name. Do you think I can use the IP instead of hostname in this format, I mean "<IP>:<Port>/<Path>".

Regarding the response in SXMB_MONI, I am getting the correct response for each interface just within 20-40 second, but data is not getting pushed to ECC, rather its setting the status as "Log version". Meanwhile I will try your suggestion with SOAP receiver adapter.

Thanks,

Farhan

Former Member
0 Kudos

Hello Exerts,

Today I just confirmed with the ABAP team, they said they have just written the code to trigger the outbound proxy, but they have not written any code for inbound proxy.

My request and response structure is different, moreover I was trying to test from the test tab.

Can we test the synchronous ABAP proxy from ECC "Test Tab" if the request and response structure are different. Please suggest

Thnaks,

Farhan

Harish
Active Contributor
0 Kudos

Hi Farhaan,

Sync proxy can be tested from SPROXY test. But you can only test the interface (PI and receiver) and sender proxy code will not be tested.

you can see the response in response tab.

regards,

Harish

Former Member
0 Kudos

Hi Harish,

Thanks. In my case, I am getting timeout in ECC and, and response is coming in PI and setting the status as "Log Version" , but reaching till ECC.

please suggest me, what needs to be done to fix this issue.

Thanks,

Farhan

Harish
Active Contributor
0 Kudos

Hi Farhaan,

I am not sure what the issue is, but please make sure that you have load balancing configuration from ECC to PI and PI to ECC. refer the below blogs.

regards,

Harish

Former Member
0 Kudos

Hello Haris/Experts,

Still I could not get any solution for this issue, however just for testing purpose, I created one asynchronous scenario from PI to ECC(File to Proxy(xi adapter)) to push the data from PI to ECC, then I was able to push it successfully, in first run message was just scheduled, then I check the queue status in SMQ2 and there were many entry, so I deleted all the messages and I ran again, then it processed successfully to ECC .

Few things  want to understand here.

  1. Do you guys think, its happening due to queue blockage? do we need to do some configuration, which might missed during the installation, because when our basis guy was installing the system, he got error in wizard, and skip that error, and later he did the manual configuration.
  2. However, If I am able to push the data to ECC by using asynchronous scenario(fie to proxy), then what is blocking me to update the response back to ECC in synchronous scenario.
  3. Is load balancing configuration is part of installation? it needs to be done during post installation.


Please help me to resolve this issue experts, we have raised the OSS message to SAP, but the response from SAP is very slow


Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - Do you guys think, its happening due to queue blockage? do we need to do some configuration, which might missed during the installation, because when our basis guy was installing the system, he got error in wizard, and skip that error, and later he did the manual configuration


>>>No. If it's an issue with the queue it should've been processed by PI/ atleast it would be in error state.

-----------------------------

However, If I am able to push the data to ECC by using asynchronous scenario(fie to proxy), then what is blocking me to update the response back to ECC in synchronous scenario.

>>>> Not sure but i suspect it's your proxy implementation. Earlier the direction was defined as "outbound" and later you changed it to "Inbound". May be you should regenerate the proxy.

Why don't you test this interface from SOAP UI and see if you get the response. you should use soap sender channel

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/0026bfd5-e1d9-2910-9698-f26ad5031...

same as below blog - in you case target system is also a web service..

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0800534-89c3-2b10-91a2-febeafdea...

Former Member
0 Kudos

Hi Hareesh,

Thanks again for your continuous help. regarding the changing direction from "Outbound to Inbound" I have not made any change in my existing interface, rather I created new "file to proxy scenario" for testing purpose, so no point of any change in my development and regenerating the proxy.

However, I will give a try with SOAP UI, for testing the scenario you have mention. Actually I could have this using SOAP UI very early, but client is very strict and not allowing to install ant software on their machine, though I will convince for that again.

One question Hareesh, I am testing the Proxy from ECC via "Test service consumer tab" without using any ABAP code, so I should receive the response in "response tab" right?

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - I'm not talking about the file to proxy interface which you developed for the testing purpose.

But earlier, in your actual scenario itself you have changed the direction as per Amit's suggestion.

and no need to install the SOAP UI, you can even test it from wsnavigator - Please refer to the below blog.

Former Member
0 Kudos

Hi Hareesh,

Thanks for the above link to test in WS navigator, I will give a try with this. Again regarding changing direction "from outbound to Inbound" that was too a different interface using ICO, and when I changed the direction I regenerated the proxy in ECC after activating the interface in PI, but still its not working. For that as well I have opened the below new thread.

Thanks,

Farhan

sunil_singh13
Active Contributor
0 Kudos

Farhan,

I would suggest to do Below Steps:

- Try to call Bank Service without using SAP PI and see how much time it takes to Respond and confirm if it is within timeout set in SAP PI.

- Considering you have Classical Scenario, I will check time taken at each pipeline step (Receiver Determination, xml Validation, Message Mapping, Technical Routing) in SXI_Monitor using Runtime/Trace.

- Once identified which step is taking more time I will restrict my debug to that area ( Also check if your Message Mapping is having any UDF/Java Mapping with infinite loop).

Also perform SLDCHECK to make sure my Proxy configuration is correct in ECC.

Thanks,

Sunil

Former Member
0 Kudos

Thanks for help Sunil. Bank is taking just 20-25 second to reply, and within 30-40 seconds all the pipeline steps are getting done.

but the same response is not getting updated in ECC, and message status is setting as "Log version".


Please see my reply to Amit for screenshot from SXMB_MONI, and PIMON. as I have mentioned using ICO I am not receiving the response from bank.


Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos

Hi Farhan - 

  1. How the message gets pushed to ECC from PI, once the message received in PI, I believe by G type RFC destination on path  "/sap/xi/engine?type=entry" , please clarify.

>>>>  It should be type H but not type G. If you are connecting to AAE then it is Type "G". But i think you are using classical configuration.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0ac1a33-debf-2c10-45bf-fb19f6e15...

Step-by-step FTP to ABAP Proxy - Process Integration - SCN Wiki

----------------------

How to trace this, if message is not getting pushed to ECC, I mean I have checked the trace in PI XSMB_MONI, but didn't get anything for this error. In ECC SXMB_moni only I am able to the timeout error


>>>> What is the response message status in PI sxmb_moni? Can you share the screenshot of the PI message along with audit log from adapter engine?

-------------------------

I remember sometime back you posted the similar thread

Did you fix that issue

Former Member
0 Kudos

Hi Hareesh,

Thanks a ton for your prompt response. Please see below my answer.

  1. Yes I am using classical configuration, so my question is shall I create one more RFC destination type of H with the path "/sap/xi/engine?type=entry" or just shall I change the type to H? and I believe this destination also used to send the request to PI from ECC, when we first trigger the request, right?
  2. Response message status in SXMB_MONI PI is  the "Log version" . please see the below screenshot from SXMB_MONI and audit log from adapter engine.

Your are correct, this is the same error, but earlier, we had cache update issue in the system, so I was thinking its happening due to that only. but even after fixing cache issue, still response is not getting updated in ECC.

Thanks,

Farhan

former_member184720
Active Contributor
0 Kudos
  1. Yes I am using classical configuration, so my question is shall I create one more RFC destination type of H with the path "/sap/xi/engine?type=entry" or just shall I change the type to H? and I believe this destination also used to send the request to PI from ECC, when we first trigger the request, right?

>>>>

If you don't have any interfaces which are pointing to AAE(Integrated configuration) then just delete this one and create a new one with type "H" with the same name..

If you have any- then create a new one and you should change the configuration in sxmb_adm(ECC system)

go to sxmb_adm -> Integration Engine Configuration -> category (runtime)

Parameter -> IS_URL 

value of this parameter should be your type "H" RFC destination name i.e. "dest://<<RFC destination of type "H"..

--------------------

change it and try re sending the request from ECC again and see if that fixes..