on 02-20-2013 6:33 PM
Hi,
We are experience a connection problem with the application. The error says: "client time out waiting for server - time out set as 30 seconds". This happens when we try to retrieve the detail information of a client which and the client has an important quantity of sales orders history, partners and items. When we check out on the app a small client with a few sales orders in its history, the application respond and retrieve data.
On the logs we see the following errors:
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: [ERROR] 571:client timed out waiting for server - timeout value set as 30 seconds/Location:callServer + 369
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: [ERROR] 571:client timed out waiting for server - timeout value set as 30 seconds/Location:-[SUPRequest startSynchronous] + 1147
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: Network error!
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: Request url was: http://<server>:8000/sap/opu/sdata/MIVE/SALESCUSTOMER/SalescustomerCollection(CUSTOMER_ID_KEY='ID')?...
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: Response string: (null)
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: Response status code: 571
Feb 20 09:52:37 iPad-de-NCG SAP Customer and Contacts[216] <Warning>: Response status message: (null)
2013-02-20 09:39:01.094 ERROR PROXY MessageChannel Thread-345 [com.sybase.suplite.gwc.req.handler.GWProxy]IOException caught in
fire request :while connecting to the URL sent:
at java.lang.Thread.run(Thread.java:662)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at com.sybase.djc.rmi.iiop.server.MessageHandler.run(MessageHandler.java:310)
at com.sybase.djc.rmi.iiop.server.MessageHandler.processRequest(MessageHandler.java:798)
at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl_DJC.$invoke
(InboundMoIIOPTransportImpl_DJC.java:100)
at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl.execute(InboundMoIIOPTransportImpl.java:70)
at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl.process(InboundMoIIOPTransportImpl.java:127)
at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC.dispatch(MessageChannelInternal_DJC.java:39)
at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:747)
at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:845)
at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC$1.invoke(MessageChannelInternal_DJC.java:25)
at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC.access$001(MessageChannelInternal_DJC.java:4)
at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal.dispatch(MessageChannelInternal.java:110)
at com.sybase.suplite.gwc.req.handler.GatewayConnectorHandler.execute(GatewayConnectorHandler.java:118)
at com.sybase.suplite.gwc.req.handler.GWProxy.handle(GWProxy.java:286)
at com.sybase.suplite.gwc.req.handler.GWProxy.fireRequest(GWProxy.java:506)
at shaded.org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at shaded.org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
at shaded.org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
at shaded.org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
at shaded.org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
at shaded.org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
at shaded.org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
at shaded.org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)
at shaded.org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
at shaded.org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
at shaded.org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketTimeoutException: Read timed out
The question is: How can we enlarge the SUP (client) time out value in order to minimize the connection problem with this app?. Your help will be very valuable.
Best Regards
Hi Mariana,
Did you get any solution or workaround for this issue.
We are also facing a similar problem and any pointers will be helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HiCastillo,
you can set the timeout in the request object.
Ex: For SUP2.2
ODPRequest* request = [ODPRequest requestWithURL:[NSURL URLWithString:urlString]];
[request setTimeOutSeconds:60];
Regards
Rohith
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Deraje,
I would gladly do that if i could, the problem is the error is given by a SAP standard mobile application, this means I do not own the source code nor can change it, in my case is SAP Customer and Contacts. So i can not apply this solution. Is there anyway to increase the connection timeout for standars mobile apps through configuration? Please help, because with a search longer that 30scs the application throws this error
regards,
Mariana
Hi Mariana,
Have you checked this URL in the REST CLient?
Make sure it returns 200 OK response in REST client else there is issue with the data coming up from your NW GW or backend.
Regards,
Shrikant
Hi Shrikant,
I have tested on PC Rest Client (Browser) and the response is 200 OK. Then i have tested on a IPAD (IPhone) Rest Client, the same url and the response is 400 /IWCOR/ATOM_ODATA_TX/029 property "SalescustomerorderheaderCollection does not exist. This is very odd, because the app only gives time out error when the search takes longer than 30scs, when i search a big customer with a huge amount of data. If i search for the details of a small customer with a small amount of data, the application respond well.
Waiting for your answers,
Regards,
MC
Hi Castillo,
In the above reply from you, I see "400 /IWCOR/ATOM_ODATA_TX/029 property "SalescustomerorderheaderCollection does not exist".
So the problem could be with the URL. Please check the URLs for "SalescustomerorderheaderCollection" and "CusromerDetails" for any additional spaces Or typo mistakes Or Uppercase/Lower case Letters. The same URL might work in REST client as it automatically takes care of such differences.
Also please enable server logs by following the belwo steps. It will help to anaylize the probelm further.
You can do the below settings to enable payload logging at SCC.
1. Domain>>DomainName>>Log>>Settings>>New >> Enter a name
2.Select "Application Connection" and chose your User
3. Select "payload" and chose "request response"
4. Select "Enable after creation"
Save the settings.
Change the log level at Server>>Logs>>Unwired Server>>Settings>>Proxy>>Debug.
Fire a new request from your application.
Under Domain>>DomainName>>Log>>General>>Proxy, click on retrive to get the logs.
Regards
Rohith
Hi Rohith,
I did that, the request response is 200 OK but the search takes longer the time out set (i dont know where) for the application which is 30 scs. This is an extract of the log
2013-02-22 09:46:32.706 DEBUG PROXY Thread-224 [com.sybase.suplite.gwc.req.util.domainReqRespLogHandler]Inside Domain Logger for ReqResp
2013-02-22 09:46:32.706 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Connection released
2013-02-22 09:46:32.705 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]-----Inside releaseConnection() of GWCConnectionPoolManager------
2013-02-22 09:46:32.705 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.ConnectionFactory]---------In releaseconnection() method of Connection Factory--------
2013-02-22 09:46:32.702 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response Body is written into OutputStream
2013-02-22 09:46:32.700 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]------In writing response method-----
2013-02-22 09:46:32.700 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response body is obtained from BackEnd
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]------------content encoding is ZIP ----------gzip
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]------------content type|encoding|length--------application/atom+xml;type=entry----gzip----3369----
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keyset-cookie Response header valueMYSAPSSO2=AjQxMDMBABhTAEEAUABBAEQATQAgACAAIAAgACAAIAACAAYxADAAMAADABBQAFMATQAgACAAIAAgACAABAAYMgAwADEAMwAwADIAMgAyADEANAAxADUABQAEAAAACAYAAlgACQACUwD%2fAPswgfgGCSqGSIb3DQEHAqCB6jCB5wIBATELMAkGBSsOAwIaBQAwCwYJKoZIhvcNAQcBMYHHMIHEAgEBMBkwDjEMMAoGA1UEAxMDUFNNAgcgEgkEF0JHMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMzAyMjIxNDE1NDNaMCMGCSqGSIb3DQEJBDEWBBQ4xLZlmPt%2f%2fcsKgX6KtFPFyFe%218TAJBgcqhkjOOAQDBC8wLQIUXdhVYznlwRQXnbu2LacduG9nEQUCFQCLAnaVc3axoxtuEpJ44cVkV4W6lQ%3d%3d; path=/; domain=.leti.com.ve
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keycontent-type Response header valueapplication/atom+xml;type=entry
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keycontent-encoding Response header valuegzip
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keycontent-length Response header value3369
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keyx-sap-odata-extension-version Response header value0.9
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keydataserviceversion Response header value2.0
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]Response header keyserver Response header valueSAP NetWeaver Application Server / ABAP 702
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]--------------Finished firing the request to GW-----------
2013-02-22 09:46:32.698 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]--------------Leaving FireRequest Method-----------
2013-02-22 09:46:32.697 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]--------------Finished Execute-----------
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]--------------Before Execute-----------
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]----Host request header set is ----LTSMNLETI.leti.com.ve:8000
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=Accept-Encoding value=gzip
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=X-SAP-deviceType value=iphone
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=X-SAP-deviceId value=55dd1658140ce8c4ff52dba597e50c3f9e0957f8
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=Authorization value= Not printed for security reasons
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]header: key=Accept-Language value=es
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]----------In GWProxy fireRequest()----------
2013-02-22 09:45:43.656 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWProxy]--------------About to fire the request to the GW-----------
2013-02-22 09:45:43.651 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]-----leaving getConnection() of GWCConnectionPoolManager -Connection is not from pool---
2013-02-22 09:45:43.650 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]Flag value is (2)false
2013-02-22 09:45:43.650 DEBUG PROXY MessageChannel Thread-239 [com.sybase.suplite.gwc.req.handler.GWCConnectionPoolManager]Address to which connection object has to be assigned is:http://<server>:8000/sap/opu/sdata/MIVE/SALESCUSTOMER/SalescustomerCollection(CUSTOMER_ID_KEY='ID')?$expand=SalescustomercontactCollection,SalescustomerorderheaderCollection
The data for this search is quite large, so I'm guessing that the rpoblem is that time out value because with and small search the standard application respond well. So this problem is not a service problem, on the rest client i dont know why throws that error maybe is wrong typing. I need to know how to increase the time out value in order to avoid the error with this standar mobile application.
Regards,
MC
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.