cancel
Showing results for 
Search instead for 
Did you mean: 

Consumption of OData Services in Android.

Former Member
0 Kudos

Hi,

I created a native Android app using sap netweaver gateway plugin tool.

I followed these steps.

I followed similar steps which is given in demo's of oData consumption in Android in this forum.

1. Stater Application project.

2. provided project name ,package details and selected List/Details Application as templates for Android.

3. Remote location service URL is provided by me.

4. selected a oData services and clicked next

5. selected all the fields which is there in the service and finish.

By default it generates all the proxy classes and layout files in android. But when i run the application in Android Emulator , When i logged in by entering username and password it's telling org.appache.http.conn.ConnectionTimeoutException: Connect to /private url address timed out.

Accepted Solutions (0)

Answers (1)

Answers (1)

midhun_vp
Active Contributor
0 Kudos

Connection timeout happens when the IP address you provided is not reachable. Provide the public IP and check. Also make sure the port is open (The port for listening for OData requests; by default, 8000.)

- Midhun VP

NanWang
Advisor
Advisor
0 Kudos

Hi midhun

I encountered the similar problem. If the backend server down, the connection pool will be full. Is it bug? do we have plan to fix it? if customer put server in the product environment, it will be very critical problem. Do we have any solution to resolve it?

My sup version is 2.2.4.

Thanks!

midhun_vp
Active Contributor
0 Kudos

Can you please elaborate what you mean by connection pool will be full.

- Midhun VP

NanWang
Advisor
Advisor
0 Kudos

Hi Midhun

thanks for reply. in my case, if the backend server can't be reach, then we will run into connectionpooltimeoutexception error. I guess it mean the connection is full. all of thread in connection pool is used. following is the error log. would you please help on it? thanks

2013-11-14 14:32:42.523 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ODPHTTPDelegatehandler] [] [] ODPHTTPDelegatehandler :Received a request to fire to Gateway
2013-11-14 14:32:42.525 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] socket Timeout time set as 60000
2013-11-14 14:32:42.525 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] ----------In DirectProxy handle()---------com.n22.bq4
2013-11-14 14:32:42.525 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] complete_requestURLhttps://10.1.2.229:8001/com.n22.bq4
2013-11-14 14:32:42.527 TRACE   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] backend url from context  is?sap-language=en
2013-11-14 14:32:42.527 TRACE   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] Final endpoint URL  ishttp://10.1.64.42:9082/insure/insureServer.do?sap-language=en
2013-11-14 14:32:42.527 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] []  final url : http://10.1.64.42:9082/insure/insureServer.do?sap-language=en
2013-11-14 14:32:42.527 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] ----Application Id sent from client is--------com.n22.bq4

2013-11-14 14:36:38.692 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ODPConnectionPoolManager] [] [] ------ConnectionPoolTimeoutException caught In getConnection() of ODPConnectionPoolManager------ Timeout waiting for connection
2013-11-14 14:36:38.692 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ODPConnectionPoolManager] [] [] ------Exception caught In getConnection() of ODPConnectionPoolManager------ Timeout waiting for connection
2013-11-14 14:36:38.692 TRACE   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ODPConnectionPoolManager] [] [] Connections active in  pool: 28
2013-11-14 14:36:38.692 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ConnectionFactory] [] [] ------ConnectionPoolTimeoutException caught In getConnection() of ConnectionFactory------ Timeout waiting for connection
2013-11-14 14:36:38.692 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] ------ConnectionPoolTimeoutException caught In Handle method of GWProxy------
shaded.org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection
    at shaded.org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:417)
    at shaded.org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:300)
    at shaded.org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:224)
    at com.sybase.sup.odp.handler.ODPConnectionPoolManager.getConnection(ODPConnectionPoolManager.java:326)
    at com.sybase.sup.odp.handler.ConnectionFactory.getConnection(ConnectionFactory.java:45)
    at com.sybase.sup.odp.handler.DirectProxy.handle(DirectProxy.java:271)
    at com.sybase.sup.odp.handler.ODPHTTPDelegatehandler.process(ODPHTTPDelegatehandler.java:155)
    at com.sybase.sup.server.http.DispatcherServlet.processRequest(DispatcherServlet.java:358)
    at com.sybase.sup.server.http.DispatcherServlet.doPost(DispatcherServlet.java:121)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at web.components.httpchannel.DispatcherServlet.service(DispatcherServlet.java:28)
    at web.components.httpchannel.DispatcherServlet_DJC.access$201(DispatcherServlet_DJC.java:4)
    at web.components.httpchannel.DispatcherServlet_DJC$3.invoke(DispatcherServlet_DJC.java:318)
    at com.sybase.djc.transaction.TransactionManager.invokeNotSupported1(TransactionManager.java:682)
    at com.sybase.djc.transaction.TransactionManager.invokeBeanManaged(TransactionManager.java:623)
    at web.components.httpchannel.DispatcherServlet_DJC.service(DispatcherServlet_DJC.java:351)
    at web.components.httpchannel.DispatcherServlet$WC.service(DispatcherServlet$WC.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at org.eclipse.jetty.continuation.ContinuationFilter.doFilter(ContinuationFilter.java:100)
    at web.components.httpchannel.JettyContinuationFilter.doFilter(JettyContinuationFilter.java:28)
    at web.components.httpchannel.JettyContinuationFilter_DJC.access$101(JettyContinuationFilter_DJC.java:4)
    at web.components.httpchannel.JettyContinuationFilter_DJC$2.invoke(JettyContinuationFilter_DJC.java:184)
    at com.sybase.djc.transaction.TransactionManager.invokeNotSupported1(TransactionManager.java:682)
    at com.sybase.djc.transaction.TransactionManager.invokeBeanManaged(TransactionManager.java:623)
    at web.components.httpchannel.JettyContinuationFilter_DJC.doFilter(JettyContinuationFilter_DJC.java:217)
    at web.components.httpchannel.JettyContinuationFilter$WC.doFilter(JettyContinuationFilter$WC.java:24)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at com.sybase.djc.server.jetty.SybSessionHandler.handle(SybSessionHandler.java:169)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.sybase.djc.server.jetty.SybWebAppContext.handle(SybWebAppContext.java:157)
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:322)
    at com.sybase.djc.server.jetty.JettyServer.handle(JettyServer.java:168)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
2013-11-14 14:36:38.693 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] ----------Caught the exception in GWProxy Handle---------
org.mortbay.jetty.EofException
    at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:631)
    at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:589)
    at com.sybase.sup.odp.handler.DirectProxy.handleException(DirectProxy.java:399)
    at com.sybase.sup.odp.handler.DirectProxy.handle(DirectProxy.java:291)
    at com.sybase.sup.odp.handler.ODPHTTPDelegatehandler.process(ODPHTTPDelegatehandler.java:155)
    at com.sybase.sup.server.http.DispatcherServlet.processRequest(DispatcherServlet.java:358)
    at com.sybase.sup.server.http.DispatcherServlet.doPost(DispatcherServlet.java:121)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at web.components.httpchannel.DispatcherServlet.service(DispatcherServlet.java:28)
    at web.components.httpchannel.DispatcherServlet_DJC.access$201(DispatcherServlet_DJC.java:4)
    at web.components.httpchannel.DispatcherServlet_DJC$3.invoke(DispatcherServlet_DJC.java:318)
    at com.sybase.djc.transaction.TransactionManager.invokeNotSupported1(TransactionManager.java:682)
    at com.sybase.djc.transaction.TransactionManager.invokeBeanManaged(TransactionManager.java:623)
    at web.components.httpchannel.DispatcherServlet_DJC.service(DispatcherServlet_DJC.java:351)
    at web.components.httpchannel.DispatcherServlet$WC.service(DispatcherServlet$WC.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at org.eclipse.jetty.continuation.ContinuationFilter.doFilter(ContinuationFilter.java:100)
    at web.components.httpchannel.JettyContinuationFilter.doFilter(JettyContinuationFilter.java:28)
    at web.components.httpchannel.JettyContinuationFilter_DJC.access$101(JettyContinuationFilter_DJC.java:4)
    at web.components.httpchannel.JettyContinuationFilter_DJC$2.invoke(JettyContinuationFilter_DJC.java:184)
    at com.sybase.djc.transaction.TransactionManager.invokeNotSupported1(TransactionManager.java:682)
    at com.sybase.djc.transaction.TransactionManager.invokeBeanManaged(TransactionManager.java:623)
    at web.components.httpchannel.JettyContinuationFilter_DJC.doFilter(JettyContinuationFilter_DJC.java:217)
    at web.components.httpchannel.JettyContinuationFilter$WC.doFilter(JettyContinuationFilter$WC.java:24)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at com.sybase.djc.server.jetty.SybSessionHandler.handle(SybSessionHandler.java:169)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.sybase.djc.server.jetty.SybWebAppContext.handle(SybWebAppContext.java:157)
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:322)
    at com.sybase.djc.server.jetty.JettyServer.handle(JettyServer.java:168)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
2013-11-14 14:36:38.694 ERROR   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] Exception caught in Handle Method()org.mortbay.jetty.EofException
2013-11-14 14:36:38.694 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ConnectionFactory] [] [] ---------In releaseconnection() method of Connection Factory--------
2013-11-14 14:36:38.694 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.ODPConnectionPoolManager] [] [] -----Inside releaseConnection() of ODPConnectionPoolManager------
2013-11-14 14:36:38.694 DEBUG   PROXY        HttpChannel Thread-307 [com.sybase.sup.odp.handler.DirectProxy] [] [] Connection released
2013-11-14 14:36:38.694 DEBUG   PROXY        HttpChannel Thread-307

midhun_vp
Active Contributor
0 Kudos

I am assuming that this thread go on till the timeout happens. There should a timeout set for the request. The unwired server wait for a response till timeout and throws the error. The error we can bring in the device and show it to the user. It is not going to affect anything. If needed you would be able to set timeout for the request in SUP.

- Midhun VP