Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

[HTTP] No memory for processing HTTP, HTTPS or SMTP query

guillaume-hrc
Active Contributor

Hi,

I use class cl_http_client so as to call a Web Service (in the Intranet).

Everything goes well as long as the number of requests stay low.

When I reach a thousand of request or so (online or through a background job), I got the message "No memory for processing HTTP, HTTPS or SMTP query".

There is no dump created in ST22 transaction.

Could you help me with this issue, please?

Is this possible:

- to split the whole lot of request in packets

- to flush the memory (ICF?)

...

Thanks in advance for your help.

Best regards,

Guillaume

Edited by: Guillaume Garcia on Nov 30, 2010 4:34 PM

1 ACCEPTED SOLUTION

guillaume-hrc
Active Contributor

Hi,

Actually, I managed to see the content of the trace dev_w18 and saw this :

A ABAP Program SAPLSHTTP .

A Source LSHTTPU16 Line 85.

A Error Code HTTP_NO_MEMORY.

A Module $Id: //bas/700_REL/src/krn/mode/abhttpio.c#38 $ SAP.

A Function OpenNewConnectionRec Line 7240.

A ** RABAX: level LEV_RX_STDERR completed.

A ** RABAX: level LEV_RX_RFC_ERROR entered.

A ** RABAX: level LEV_RX_RFC_ERROR completed.

A ** RABAX: level LEV_RX_RFC_CLOSE entered.

A ** RABAX: level LEV_RX_RFC_CLOSE completed.

A ** RABAX: level LEV_RX_IMC_ERROR entered.

A ** RABAX: level LEV_RX_IMC_ERROR completed.

A ** RABAX: level LEV_RX_DATASET_CLOSE entered.

A ** RABAX: level LEV_RX_DATASET_CLOSE completed.

A ** RABAX: level LEV_RX_ERROR_SAVE entered.

A ** RABAX: level LEV_RX_ERROR_SAVE completed.

A ** RABAX: level LEV_RX_ERROR_TPDA entered.

A ** RABAX: level LEV_RX_ERROR_TPDA completed.

A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI entered.

A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI completed.

A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP entered.

A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP completed.

A ** RABAX: level LEV_RX_END entered.

A ** RABAX: level LEV_RX_END completed.

A ** RABAX: end no http/smtp

A ** RABAX: end RX_BTCHLOG RX_VBLOG

A No memory for processing HTTP, HTTPS, or SMTP queries..

The problem seens to come from the fact that connection stays active and this 1 line solved my problem:

CALL METHOD lo_http_client->close( ).  "  prevents 'No Memory for processing HTTP, HTTPS or SMTP queries'

Though that seems rather obvious to do so, I have not seen that many code samples in SDN with this line at the end !

Best regards,

Guillaume

7 REPLIES 7

guillaume-hrc
Active Contributor

Hi,

Actually, I managed to see the content of the trace dev_w18 and saw this :

A ABAP Program SAPLSHTTP .

A Source LSHTTPU16 Line 85.

A Error Code HTTP_NO_MEMORY.

A Module $Id: //bas/700_REL/src/krn/mode/abhttpio.c#38 $ SAP.

A Function OpenNewConnectionRec Line 7240.

A ** RABAX: level LEV_RX_STDERR completed.

A ** RABAX: level LEV_RX_RFC_ERROR entered.

A ** RABAX: level LEV_RX_RFC_ERROR completed.

A ** RABAX: level LEV_RX_RFC_CLOSE entered.

A ** RABAX: level LEV_RX_RFC_CLOSE completed.

A ** RABAX: level LEV_RX_IMC_ERROR entered.

A ** RABAX: level LEV_RX_IMC_ERROR completed.

A ** RABAX: level LEV_RX_DATASET_CLOSE entered.

A ** RABAX: level LEV_RX_DATASET_CLOSE completed.

A ** RABAX: level LEV_RX_ERROR_SAVE entered.

A ** RABAX: level LEV_RX_ERROR_SAVE completed.

A ** RABAX: level LEV_RX_ERROR_TPDA entered.

A ** RABAX: level LEV_RX_ERROR_TPDA completed.

A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI entered.

A ** RABAX: level LEV_RX_PXA_RELEASE_RUDI completed.

A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP entered.

A ** RABAX: level LEV_RX_LIVE_CACHE_CLEANUP completed.

A ** RABAX: level LEV_RX_END entered.

A ** RABAX: level LEV_RX_END completed.

A ** RABAX: end no http/smtp

A ** RABAX: end RX_BTCHLOG RX_VBLOG

A No memory for processing HTTP, HTTPS, or SMTP queries..

The problem seens to come from the fact that connection stays active and this 1 line solved my problem:

CALL METHOD lo_http_client->close( ).  "  prevents 'No Memory for processing HTTP, HTTPS or SMTP queries'

Though that seems rather obvious to do so, I have not seen that many code samples in SDN with this line at the end !

Best regards,

Guillaume

0 Kudos

Hello,

I am getting same error while running ABAP Report- /OSP/TRIGGER_LEAVE_SCHEDULER

Error-

No memory for processing HTTP, HTTPS or SMTP query .

Please help.

Regards,

Shashank

0 Kudos

Hi,

where you able to fix this issue?

Regards,

Gunnlaugur

0 Kudos

Thanks Guillaume Garcia.

It solved my issue really helpful solution

Thanks,

Harish Singh.K,

0 Kudos

Hi Garcia,

I also facing same issue. Which program u put this code CALL METHOD lo_http_client->close( ).

thank you in advance.

0 Kudos

Hi,

This was a custom development so I simply modified my LOOP... ENDLOOP to take the fix into account.

If you face this error in standard code, I would suggest opening an OSS message or (if urgent) try to go for an Enhancement if possible.

Best regards,

Guillaume

Sergiu
Contributor
0 Kudos

CLOSE documentation.

IO IF_HTTP_CLIENT CLOSE

Short Text

Close of HTTP connection

Functionality

This instance method is used to release resources after requests have been sent and responses received.

Result

When this method runs, it deletes cookies as well as the request and response objects referenced in the HTTP client object.

Notes

It is important that you release the client object to the ABAP environment with the help of the ABAP statement "CLEAR" only after the "CLOSE" mehtod for this object has been called. If this does not take place, a memory leak will occur. If, in additon, the request or response objects consist of multi-part objects, the ABAP references to the multi-part objects must be released using the ABAP statement "CLEAR" -- before the CLOSE method is called for the client object.

It works. Thank you!