Maximo Open Forum

 View Only
  • 1.  Integration HTPP error

    Posted 06-30-2021 10:22
    We are intermittently getting the below error in a developed API integration, but the transaction reprocesses successfully every time in the same second.
    ' BMXAA1477E - The connection failed to the HTTP handler for the endpoint. ' 
    The Outbound API integration includes Sequential Queue and published Channel with End Point with a HTTP handler.
    We have had the CONNECTIONTIMEOUT on the endpoint set to NULL and were getting the same errors, but less frequently then now, about 3 to 4 times a week.  We then set the EndPoint property CONNECTIONTIMEOUT to 600000, which was recommended to us, and now are getting the error even more frequently.
    We can not risk the potential of a record not reprocessing and holding up the integration, so this is a must validate each time we get the error situation, so we would like to get to place where we are error free.
    1) What is the recommended value on the endpoint for the connectiontimeout properties to avoid the intermittent experienced error?  And is this value correlated to the endpoint's timeout value that it is trying reach?
    2) How does Maximo handle the connectiontimeout parameter being NULL?
    3) Does this error indicate there is an internal failure in maximo with the HTTP handler or does this indicate that there is a timeout when trying to connect to the URL designated in the properties of the endpoint?
    4) When the connectiontimeout parameter is updated, does it require a restart of the application before it goes into affect?

    Any help from the community is greatly appreciated.
    Christi Eades

    #Integrations

    ------------------------------
    Christi Eades
    City of Fort Worth
    ------------------------------


  • 2.  RE: Integration HTPP error

    Posted 07-01-2021 09:39
    Christi,

    Not sure I can answer all of those questions, but I can share what I know.

    The CONNECTTIMEOUT parameter of the HTTP Handler calls the setConnectTimeout() method on the HttpURLConnection Java class prior to invoking the URL. This method is only called if the CONNECTTIMEOUT parameter is set to a value greater than 0. If not specified, the default protocol will not enforce a timeout. I believe that most Java implementations of the protocol will set the value to 2 minutes though.

    When an End Point parameter is updated, Maximo will trigger a reload of the End Point cache. You should be able to use the End Point immediately afterward with the new parameter values.

    Hope this helps,


    ------------------------------
    Alex Walter
    A3J Group, LLC
    ------------------------------



  • 3.  RE: Integration HTPP error

    Posted 07-01-2021 20:33
    Hi Christi,

    Here below are the answers to your questions:

    1) What is the recommended value on the endpoint for the connectiontimeout properties to avoid the intermittent experienced error?  And is this value correlated to the endpoint's timeout value that it is trying reach? ---- As per my knowledge there is no recommendation for connection timeout property. Default is 60000 milliseconds ( which takes precedence when you have not set any connection timeout property). Connection timeout is set to provide a guidance to your http request on how much shall it wait before shutting down the request. End point play an important part in this and I believe end point system should have a say in this as end point system might doing a lot of compute before sending back a response. Also, network between your system and end point system plays an import part in this.
    2) How does Maximo handle the connectiontimeout parameter being NULL? -- default value of 60000 milliseconds are applied.
    3) Does this error indicate there is an internal failure in maximo with the HTTP handler or does this indicate that there is a timeout when trying to connect to the URL designated in the properties of the  endpoint? -- I cannot give a right answer for this one without looking into the logs or stack trace( minimum). Having said that error seems from a timeout which has nothing to do with Maximo's internal processing. Error means end point is not sending a response before the timeout happens. Also, please note this could also happen reasons other than a timeout.
    4) When the connectiontimeout parameter is updated, does it require a restart of the application before it goes into affect? - End point properties cache is reloaded by Maximo after update but It is always recommended to restart JVM when changing property values which are cached.

    Hope the above answers help you.

    I would still consider a deep dive into the logs to understand the root cause of this error as you might be thinking that oh this a timeout error but it could be something else when logs are analysed. Logs of both the system should be analysed to understand at what stage is the request failing. 



    ------------------------------
    Biplab Choudhury
    Tata Consultancy Services
    ------------------------------