API Connect

API Connect

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  DataPower Restart & API Connect on High Volume XSLT

    Posted Mon May 19, 2025 08:29 AM

    Dear All,

    We have to process a SOAP payload containing a large number of nested loops (up to 200K). The XSLT iterates through these loops and sends each one individually to MQ using dp:url-open. So it will be 200K dp:url-open calls to MQ.

    This works fine for smaller payloads(4 or 5 nested loops) when we test from SoapUI , but when we test with large volumes (100K+) through an application, we encounter:

    • Automatic DataPower restarts
    • API Connect Gateway Peering Manager going down.
    • The request is not even logging in analytics  but error in the backend system is 
    "An error occurred whilst performing a TCP/IP  socket operation. the socket was closed before all expected data was received, as the end of the http headers
    have not been found."

    Can anyone share your Inputs?


    ------------------------------
    Kumar
    ------------------------------


  • 2.  RE: DataPower Restart & API Connect on High Volume XSLT

    Posted Mon May 19, 2025 11:10 AM

    Hello,

    Could anyone share your thoughts on this please?



    ------------------------------
    Kumar
    ------------------------------



  • 3.  RE: DataPower Restart & API Connect on High Volume XSLT

    Posted Tue May 20, 2025 03:21 AM

    Dears,

    Could you please provide insights or suggest any other approaches to solve this issue?



    ------------------------------
    Kumar
    ------------------------------



  • 4.  RE: DataPower Restart & API Connect on High Volume XSLT

    Posted Tue May 20, 2025 09:33 AM

    Hi Kumar,

    If you expect to get an input SOAP containing more than 100K nested structures that you want to loop through I would try to split the url-open sending from one single XSLT to multiple processing actions. Have you performed any analysis on the issue? Are you running out CPU, memory or TCP/IP sockects which causes the DataPower to restart?



    ------------------------------
    Hermanni Pernaa
    Solutions Architect
    Digia Plc
    Helsinki
    ------------------------------



  • 5.  RE: DataPower Restart & API Connect on High Volume XSLT

    Posted Wed May 21, 2025 01:00 AM
    Edited by Kumar . Wed May 21, 2025 09:29 AM

    Hi Hermanni,

     DataPower is out of memory throttle  during the 100k message test. However, messages were sometimes pulled by ACE from MQ. In the middle of the pulling process, DataPower would restart. After all the messages were pulled, APIC expected a response from ACE.

    At that point, the ACE logs showed the following error:

    "An error occurred whilst performing a TCP/IP socket operation. The socket was closed before all expected data was received, as the end of the HTTP headers has not been found."

    Could you please elaborate on how to implement the following suggestion?

    "If you expect to receive a SOAP input containing more than 100k nested structures that you want to loop through, I would recommend splitting the URL open/send operations from a single XSLT into multiple processing actions."



    ------------------------------
    Kumar
    ------------------------------



  • 6.  RE: DataPower Restart & API Connect on High Volume XSLT

    Posted 26 days ago

    Hello,

    DataPower is shutting down and running out of memory when we attempt to make 100,000 url-open calls to MQ. We are receiving a single SOAP payload through APIC that contains over 100,000 nested structures. Each of these nested structures needs to be extracted and sent to MQ as an individual message.

    IBM has recommended processing the data in chunks, such as 0–49, 50–99, and so on.

    Can anyone help explain how we can implement this? Or please suggest if there are any alternative approaches.



    ------------------------------
    Kumar
    ------------------------------