on 03-24-2014 3:37 AM
Hi experts, The scenario is Web Service (REST/POST) RFC. For large messages, it takes more than 60 seconds for SAP to process and send the response back. When this is tested in SOAPUI, I get SocketTimeException. Increasing the socket timeout in SOAPUI would resolve it. But the problem still happens for messages with larger volume of data that takes more than 2 minutes (sometimes 10 minutes) to complete. When it happens in SOAPUI, I usually get 'The proxy server received an invalid response from an upstream server' but when I check the actual message in SXI_MONITOR, it's still getting processed. After some time, it will actually complete. Has anyone encountered this issue before? Appreciate your inputs. Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Eng Swee, Thank you. I'm actually using REST adapter. After checking further, it seems that the 'The proxy server received an invalid response from an upstream server' error is similar with 'MessageExpiredException' which is caused by very long response from target system. I'll explore more on which timeout parameters in PI can be changed to avoid this error.
Hi Mark,
with synchronous messages it is important to consider timeouts from each connection to be established. So soapUI-PI, then PI-BackendSystem plus anything that might be in between. If your timeout soapUI-PI is smaller than the following ones, you'll get that phenomenon. soapUI will cut the connection, but PI will hold it and maybe receive an answer from the backend. This answer will end up in the void, since the original requester (your soapUI) has already disconnected. But for PI, this will be OK and status "successful". PI does not control and monitor the client's connection.
In other words, the cancel of the connection is only performed for that same connection, it is not propagated to any subsequent connections.
Hope that I was clear enough,
Jörg
Hi Mark
You need to change the parameter 'xiadapter.inbound.timeout.default'
Change it to the value that may taken for the target system to send back the response.
Detail information is there in the document mentioned by Eng Swee Yeoh.
Thanks Jörg for the explanation. This is really clear and makes a lot of sense. I figured this so I asked the consumer application to also increase their timeout. But since the Backend System->PI takes a really long time for big messages, their increased timeout is not enough. I may really have to increase 'xiadapter.inbound.timeout.default.
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.